* exprimental: Export and reimport all items within a prim except Objects
* Not yet ready for public use0.6.0-stable
parent
7352bd7b99
commit
73c1157027
|
@ -35,7 +35,7 @@ namespace OpenSim.Region.Environment.Modules.World.Archiver
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Path for the assets held in an archive
|
/// Path for the assets held in an archive
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public static readonly string ASSETS_PATH = "textures/";
|
public static readonly string ASSETS_PATH = "assets/";
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Extension used for texture assets in archive
|
/// Extension used for texture assets in archive
|
||||||
|
|
|
@ -92,9 +92,9 @@ namespace OpenSim.Region.Environment.Modules.World.Archiver
|
||||||
|
|
||||||
foreach (TaskInventoryItem tit in part.TaskInventory.Values)
|
foreach (TaskInventoryItem tit in part.TaskInventory.Values)
|
||||||
{
|
{
|
||||||
if (tit.Type == (int)InventoryType.Texture)
|
if (tit.Type != (int)InventoryType.Object)
|
||||||
{
|
{
|
||||||
m_log.DebugFormat("[ARCHIVER]: Recording texture {0} in object {1}", tit.AssetID, part.UUID);
|
m_log.DebugFormat("[ARCHIVER]: Recording asset {0} in object {1}", tit.AssetID, part.UUID);
|
||||||
textureUuids[tit.AssetID] = 1;
|
textureUuids[tit.AssetID] = 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -78,13 +78,21 @@ namespace OpenSim.Region.Environment.Modules.World.Archiver
|
||||||
|
|
||||||
foreach (LLUUID uuid in m_assets.Keys)
|
foreach (LLUUID uuid in m_assets.Keys)
|
||||||
{
|
{
|
||||||
if (m_assets[uuid] != null)
|
AssetBase asset = m_assets[uuid];
|
||||||
|
|
||||||
|
if (asset != null)
|
||||||
{
|
{
|
||||||
xtw.WriteStartElement("asset");
|
xtw.WriteStartElement("asset");
|
||||||
|
|
||||||
AssetBase asset = m_assets[uuid];
|
string extension = string.Empty;
|
||||||
|
|
||||||
|
if ((sbyte)AssetType.Texture == asset.Type)
|
||||||
|
{
|
||||||
|
extension = ArchiveConstants.TEXTURE_EXTENSION;
|
||||||
|
}
|
||||||
|
|
||||||
|
xtw.WriteElementString("filename", uuid.ToString() + extension);
|
||||||
|
|
||||||
xtw.WriteElementString("filename", uuid.ToString() + ArchiveConstants.TEXTURE_EXTENSION);
|
|
||||||
xtw.WriteElementString("name", asset.Name);
|
xtw.WriteElementString("name", asset.Name);
|
||||||
xtw.WriteElementString("description", asset.Description);
|
xtw.WriteElementString("description", asset.Description);
|
||||||
xtw.WriteElementString("asset-type", asset.Type.ToString());
|
xtw.WriteElementString("asset-type", asset.Type.ToString());
|
||||||
|
@ -113,11 +121,20 @@ namespace OpenSim.Region.Environment.Modules.World.Archiver
|
||||||
|
|
||||||
foreach (LLUUID uuid in m_assets.Keys)
|
foreach (LLUUID uuid in m_assets.Keys)
|
||||||
{
|
{
|
||||||
if (m_assets[uuid] != null)
|
AssetBase asset = m_assets[uuid];
|
||||||
|
|
||||||
|
if (asset != null)
|
||||||
{
|
{
|
||||||
|
string extension = string.Empty;
|
||||||
|
|
||||||
|
if ((sbyte)AssetType.Texture == asset.Type)
|
||||||
|
{
|
||||||
|
extension = ArchiveConstants.TEXTURE_EXTENSION;
|
||||||
|
}
|
||||||
|
|
||||||
archive.AddFile(
|
archive.AddFile(
|
||||||
ArchiveConstants.ASSETS_PATH + uuid.ToString() + ArchiveConstants.TEXTURE_EXTENSION,
|
ArchiveConstants.ASSETS_PATH + uuid.ToString() + extension,
|
||||||
m_assets[uuid].Data);
|
asset.Data);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|
|
@ -97,7 +97,6 @@ namespace OpenSim.Region.Environment.Modules.World.Archiver
|
||||||
reader.ReadStartElement("assets");
|
reader.ReadStartElement("assets");
|
||||||
reader.Read();
|
reader.Read();
|
||||||
|
|
||||||
m_log.DebugFormat("next node {0}", reader.Name);
|
|
||||||
while (reader.Name.Equals("asset"))
|
while (reader.Name.Equals("asset"))
|
||||||
{
|
{
|
||||||
reader.Read();
|
reader.Read();
|
||||||
|
@ -150,11 +149,16 @@ namespace OpenSim.Region.Environment.Modules.World.Archiver
|
||||||
{
|
{
|
||||||
AssetMetadata metadata = m_metadata[filename];
|
AssetMetadata metadata = m_metadata[filename];
|
||||||
|
|
||||||
string rawId = filename.Remove(filename.Length - ArchiveConstants.TEXTURE_EXTENSION.Length);
|
string extension = String.Empty;
|
||||||
|
|
||||||
|
if ((sbyte)AssetType.Texture == metadata.AssetType)
|
||||||
|
{
|
||||||
|
filename = filename.Remove(filename.Length - ArchiveConstants.TEXTURE_EXTENSION.Length);
|
||||||
|
}
|
||||||
|
|
||||||
m_log.DebugFormat("[ARCHIVER]: Importing asset {0}", rawId);
|
m_log.DebugFormat("[ARCHIVER]: Importing asset {0}", filename);
|
||||||
|
|
||||||
AssetBase asset = new AssetBase(new LLUUID(rawId), metadata.Name);
|
AssetBase asset = new AssetBase(new LLUUID(filename), metadata.Name);
|
||||||
asset.Description = metadata.Description;
|
asset.Description = metadata.Description;
|
||||||
asset.Type = metadata.AssetType;
|
asset.Type = metadata.AssetType;
|
||||||
asset.InvType = metadata.InventoryType;
|
asset.InvType = metadata.InventoryType;
|
||||||
|
|
Loading…
Reference in New Issue