* This is the fabled LibOMV update with all of the libOMV types from JHurliman

* This is a HUGE OMG update and will definitely have unknown side effects.. so this is really only for the strong hearted at this point.  Regular people should let the dust settle.
* This has been tested to work with most basic functions. However..   make sure you back up 'everything' before using this.  It's that big!  
* Essentially we're back at square 1 in the testing phase..  so lets identify things that broke.
This commit is contained in:
Teravus Ovares
2008-09-06 07:52:41 +00:00
parent cbec2bf22b
commit 7d89e12293
388 changed files with 6811 additions and 7138 deletions

View File

@@ -39,7 +39,7 @@ using System.Collections;
using System.Collections.Generic;
using System.Diagnostics;
using libsecondlife;
using OpenMetaverse;
using OpenSim;
using OpenSim.Framework;
@@ -49,8 +49,6 @@ using OpenSim.Region.Physics.Manager;
using log4net;
using Axiom.Math;
namespace OpenSim.Region.Environment.Modules.ContentManagement
{
public class CMModel
@@ -133,14 +131,14 @@ namespace OpenSim.Region.Environment.Modules.ContentManagement
m_MetaEntityCollection.ClearAll();
}
public ContentManagementEntity FindMetaEntityAffectedByUndo(LLUUID uuid)
public ContentManagementEntity FindMetaEntityAffectedByUndo(UUID uuid)
{
ContentManagementEntity ent = GetMetaGroupByPrim(uuid);
return ent;
}
//-------------------------------- HELPERS --------------------------------------------------------------------//
public ContentManagementEntity GetMetaGroupByPrim(LLUUID uuid)
public ContentManagementEntity GetMetaGroupByPrim(UUID uuid)
{
foreach (Object ent in m_MetaEntityCollection.Entities.Values)
{
@@ -194,7 +192,7 @@ namespace OpenSim.Region.Environment.Modules.ContentManagement
SceneObjectGroup temp = null;
System.Collections.Hashtable deleteListUUIDs = new Hashtable();
// Dictionary<LLUUID, EntityBase> SearchList = new Dictionary<LLUUID,EntityBase>();
Dictionary<LLUUID, EntityBase> ReplacementList = new Dictionary<LLUUID,EntityBase>();
Dictionary<UUID, EntityBase> ReplacementList = new Dictionary<UUID,EntityBase>();
int revision = m_database.GetMostRecentRevision(scene.RegionInfo.RegionID);
// EntityBase[] searchArray;
@@ -255,14 +253,14 @@ namespace OpenSim.Region.Environment.Modules.ContentManagement
break;
}
foreach(LLUUID uuid in deleteListUUIDs.Keys)
foreach(UUID uuid in deleteListUUIDs.Keys)
{
try
{
// I thought that the DeleteGroup() function would handle all of this, but it doesn't. I'm not sure WHAT it handles.
((SceneObjectGroup)scene.Entities[uuid]).DetachFromBackup((SceneObjectGroup)scene.Entities[uuid]);
scene.PhysicsScene.RemovePrim(((SceneObjectGroup)scene.Entities[uuid]).RootPart.PhysActor);
scene.SendKillObject(scene.Entities[uuid].LocalId);
scene.SendKiPrimitive(scene.Entities[uuid].LocalId);
scene.m_innerScene.DeleteSceneObject(uuid, false);
((SceneObjectGroup)scene.Entities[uuid]).DeleteGroup();
}
@@ -284,7 +282,7 @@ namespace OpenSim.Region.Environment.Modules.ContentManagement
if (!(ent is SceneObjectGroup))
continue;
if ((((SceneObjectGroup)ent).RootPart.GetEffectiveObjectFlags() & (uint) LLObject.ObjectFlags.Phantom) == 0)
if ((((SceneObjectGroup)ent).RootPart.GetEffectiveObjectFlags() & (uint) PrimFlags.Phantom) == 0)
((SceneObjectGroup)ent).ApplyPhysics(true);
((SceneObjectGroup)ent).AttachToBackup();
((SceneObjectGroup)ent).HasGroupChanged = true; // If not true, then attaching to backup does nothing because no change is detected.
@@ -346,7 +344,7 @@ namespace OpenSim.Region.Environment.Modules.ContentManagement
{
if (m_MetaEntityCollection.Auras.ContainsKey(part.UUID))
{
((AuraMetaEntity)m_MetaEntityCollection.Auras[part.UUID]).SetAura(new LLVector3(0,254,0), part.Scale);
((AuraMetaEntity)m_MetaEntityCollection.Auras[part.UUID]).SetAura(new Vector3(0,254,0), part.Scale);
((AuraMetaEntity)m_MetaEntityCollection.Auras[part.UUID]).RootPart.GroupPosition = part.GetWorldPosition();
auraList.Add((AuraMetaEntity)m_MetaEntityCollection.Auras[part.UUID]);
}
@@ -356,4 +354,4 @@ namespace OpenSim.Region.Environment.Modules.ContentManagement
#endregion Public Methods
}
}
}