diff options
author | Justin Clark-Casey (justincc) | 2011-04-15 00:42:06 +0100 |
---|---|---|
committer | Justin Clark-Casey (justincc) | 2011-04-15 00:42:06 +0100 |
commit | a0d80140f2d0ad6dd63970a3a3d5c0da8320ae75 (patch) | |
tree | 4c1f6780b2f8c766f7af29e827d77269790a94e9 /OpenSim/Services | |
parent | implement stub TestLoadCoalesecedItem(). Doesn't do what it's meant to do yet. (diff) | |
download | opensim-SC_OLD-a0d80140f2d0ad6dd63970a3a3d5c0da8320ae75.zip opensim-SC_OLD-a0d80140f2d0ad6dd63970a3a3d5c0da8320ae75.tar.gz opensim-SC_OLD-a0d80140f2d0ad6dd63970a3a3d5c0da8320ae75.tar.bz2 opensim-SC_OLD-a0d80140f2d0ad6dd63970a3a3d5c0da8320ae75.tar.xz |
Make all the objects in a coalescence reappears after being loaded from an IAR. This still doesn't work proprerly since some required textures/contained item assets might be missing.
From pure code inspection, it looks like the uuid gatherer may get most asset uuids because the scene object serializer naively pulls non-root parts from all contained scene objects into one mega-object. However, root part uuids may well still be missing, and there may be other odd artifacts from this bug.
It appears that storing the size of the coalescence and the offsets is redundant, since one can work out this information from the position data already in the scene object groups.
Diffstat (limited to 'OpenSim/Services')
-rw-r--r-- | OpenSim/Services/AssetService/AssetService.cs | 10 | ||||
-rw-r--r-- | OpenSim/Services/Interfaces/IAssetService.cs | 5 |
2 files changed, 14 insertions, 1 deletions
diff --git a/OpenSim/Services/AssetService/AssetService.cs b/OpenSim/Services/AssetService/AssetService.cs index a81af43..e1f90b6 100644 --- a/OpenSim/Services/AssetService/AssetService.cs +++ b/OpenSim/Services/AssetService/AssetService.cs | |||
@@ -89,6 +89,8 @@ namespace OpenSim.Services.AssetService | |||
89 | 89 | ||
90 | public virtual AssetBase Get(string id) | 90 | public virtual AssetBase Get(string id) |
91 | { | 91 | { |
92 | // m_log.DebugFormat("[ASSET SERVICE]: Get asset for {0}", id); | ||
93 | |||
92 | UUID assetID; | 94 | UUID assetID; |
93 | 95 | ||
94 | if (!UUID.TryParse(id, out assetID)) | 96 | if (!UUID.TryParse(id, out assetID)) |
@@ -107,6 +109,8 @@ namespace OpenSim.Services.AssetService | |||
107 | 109 | ||
108 | public virtual AssetMetadata GetMetadata(string id) | 110 | public virtual AssetMetadata GetMetadata(string id) |
109 | { | 111 | { |
112 | // m_log.DebugFormat("[ASSET SERVICE]: Get asset metadata for {0}", id); | ||
113 | |||
110 | UUID assetID; | 114 | UUID assetID; |
111 | 115 | ||
112 | if (!UUID.TryParse(id, out assetID)) | 116 | if (!UUID.TryParse(id, out assetID)) |
@@ -121,6 +125,8 @@ namespace OpenSim.Services.AssetService | |||
121 | 125 | ||
122 | public virtual byte[] GetData(string id) | 126 | public virtual byte[] GetData(string id) |
123 | { | 127 | { |
128 | // m_log.DebugFormat("[ASSET SERVICE]: Get asset data for {0}", id); | ||
129 | |||
124 | UUID assetID; | 130 | UUID assetID; |
125 | 131 | ||
126 | if (!UUID.TryParse(id, out assetID)) | 132 | if (!UUID.TryParse(id, out assetID)) |
@@ -150,7 +156,9 @@ namespace OpenSim.Services.AssetService | |||
150 | 156 | ||
151 | public virtual string Store(AssetBase asset) | 157 | public virtual string Store(AssetBase asset) |
152 | { | 158 | { |
153 | //m_log.DebugFormat("[ASSET SERVICE]: Store asset {0} {1}", asset.Name, asset.ID); | 159 | // m_log.DebugFormat( |
160 | // "[ASSET SERVICE]: Storing asset {0} {1}, bytes {2}", asset.Name, asset.ID, asset.Data.Length); | ||
161 | |||
154 | m_Database.StoreAsset(asset); | 162 | m_Database.StoreAsset(asset); |
155 | 163 | ||
156 | return asset.ID; | 164 | return asset.ID; |
diff --git a/OpenSim/Services/Interfaces/IAssetService.cs b/OpenSim/Services/Interfaces/IAssetService.cs index 3be6815..1ac1cec 100644 --- a/OpenSim/Services/Interfaces/IAssetService.cs +++ b/OpenSim/Services/Interfaces/IAssetService.cs | |||
@@ -48,6 +48,11 @@ namespace OpenSim.Services.Interfaces | |||
48 | /// <returns></returns> | 48 | /// <returns></returns> |
49 | AssetMetadata GetMetadata(string id); | 49 | AssetMetadata GetMetadata(string id); |
50 | 50 | ||
51 | /// <summary> | ||
52 | /// Get an asset's data, ignoring the metadata. | ||
53 | /// </summary> | ||
54 | /// <param name="id"></param> | ||
55 | /// <returns>null if there is no such asset</returns> | ||
51 | byte[] GetData(string id); | 56 | byte[] GetData(string id); |
52 | 57 | ||
53 | /// <summary> | 58 | /// <summary> |