a few changes to last patch

This commit is contained in:
UbitUmarov
2020-08-31 12:35:39 +01:00
parent 2ad56bf0aa
commit 8e2eb983e3
3 changed files with 45 additions and 31 deletions

View File

@@ -226,42 +226,36 @@ namespace OpenSim.Region.CoreModules.Framework.InventoryAccess
groupmask = (uint)PermissionMask.AllAndExport;
everyonemask = (uint)(PermissionMask.AllAndExport & ~PermissionMask.Modify);
}
if (assetType == (byte)AssetType.Clothing || assetType == (byte)AssetType.Bodypart)
flags = subType;
AssetBase asset = null;
if (assetType == (byte)AssetType.Settings)
if(assetType == (sbyte)AssetType.Settings)
{
UUID default_asset_id = UUID.Zero;
if (subType == 0)
default_asset_id = UUID.Parse("3ae23978-ac82-bcf3-a9cb-ba6e52dcb9ad"); // Sky
else if (subType == 1)
default_asset_id = UUID.Parse("59d1a851-47e7-0e5f-1ed7-6b715154f41a"); // Water
else if (subType == 2)
default_asset_id = UUID.Parse("5646d39e-d3d7-6aff-ed71-30fc87d64a91"); // Daycycle
if (default_asset_id != UUID.Zero)
flags = subType;
if (data == null)
{
asset = m_Scene.AssetService.Get(default_asset_id.ToString());
}
if (asset == null)
{
m_log.ErrorFormat("[INVENTORY ACCESS MODULE CreateNewInventoryItem]: failed to create default environment setting asset {0} for agent {1}", name, remoteClient.AgentId);
IEnvironmentModule envModule = m_Scene.RequestModuleInterface<IEnvironmentModule>();
if(envModule == null)
return;
UUID assetID = envModule.GetDefaultAsset(subType);
if(assetID == UUID.Zero)
{
m_log.ErrorFormat(
"[INVENTORY ACCESS MODULE CreateNewInventoryItem]: failed to create default environment setting asset {0} for agent {1}", name, remoteClient.AgentId);
return;
}
m_Scene.CreateNewInventoryItem(
remoteClient, remoteClient.AgentId.ToString(), string.Empty, folderID,
name, description, flags, callbackID, assetID, (sbyte)AssetType.Settings, invType,
(uint)PermissionMask.AllAndExport, (uint)PermissionMask.AllAndExport,
everyonemask, nextOwnerMask, groupmask,
creationDate, false); // Data from viewer
return;
}
}
else if( assetType == (byte)AssetType.Clothing ||
assetType == (byte)AssetType.Bodypart)
flags = subType;
}
else
{
asset = m_Scene.CreateAsset(name, description, assetType, data, remoteClient.AgentId);
m_Scene.AssetService.Store(asset);
}
AssetBase asset = m_Scene.CreateAsset(name, description, assetType, data, remoteClient.AgentId);
m_Scene.AssetService.Store(asset);
m_Scene.CreateNewInventoryItem(
remoteClient, remoteClient.AgentId.ToString(), string.Empty, folderID,
name, description, flags, callbackID, asset.FullID, asset.Type, invType,