Add saving assets from gestures to IAR
parent
f2d2073f2b
commit
53386b6f1f
|
@ -91,6 +91,10 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
{
|
{
|
||||||
GetWearableAssetUuids(assetUuid, assetUuids);
|
GetWearableAssetUuids(assetUuid, assetUuids);
|
||||||
}
|
}
|
||||||
|
else if (AssetType.Gesture == assetType)
|
||||||
|
{
|
||||||
|
GetGestureAssetUuids(assetUuid, assetUuids);
|
||||||
|
}
|
||||||
else if (AssetType.LSLText == assetType)
|
else if (AssetType.LSLText == assetType)
|
||||||
{
|
{
|
||||||
GetScriptAssetUuids(assetUuid, assetUuids);
|
GetScriptAssetUuids(assetUuid, assetUuids);
|
||||||
|
@ -278,5 +282,41 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
GatherAssetUuids(sog, assetUuids);
|
GatherAssetUuids(sog, assetUuids);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protected void GetGestureAssetUuids(UUID gestureUuid, IDictionary<UUID, int> assetUuids)
|
||||||
|
{
|
||||||
|
AssetBase assetBase = GetAsset(gestureUuid);
|
||||||
|
|
||||||
|
MemoryStream ms = new MemoryStream(assetBase.Data);
|
||||||
|
StreamReader sr = new StreamReader(ms);
|
||||||
|
|
||||||
|
sr.ReadLine(); // Unknown (Version?)
|
||||||
|
sr.ReadLine(); // Unknown
|
||||||
|
sr.ReadLine(); // Unknown
|
||||||
|
sr.ReadLine(); // Name
|
||||||
|
sr.ReadLine(); // Comment ?
|
||||||
|
int count = Convert.ToInt32(sr.ReadLine()); // Item count
|
||||||
|
|
||||||
|
for (int i = 0 ; i < count ; i++)
|
||||||
|
{
|
||||||
|
string type = sr.ReadLine();
|
||||||
|
if (type == null)
|
||||||
|
break;
|
||||||
|
string name = sr.ReadLine();
|
||||||
|
if (name == null)
|
||||||
|
break;
|
||||||
|
string id = sr.ReadLine();
|
||||||
|
if (id == null)
|
||||||
|
break;
|
||||||
|
string unknown = sr.ReadLine();
|
||||||
|
if (unknown == null)
|
||||||
|
break;
|
||||||
|
|
||||||
|
// If it can be parsed as a UUID, it is an asset ID
|
||||||
|
UUID uuid;
|
||||||
|
if (UUID.Parse(id, out uuid))
|
||||||
|
assetUuids[uuid] = 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
Loading…
Reference in New Issue