aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim.RegionServer
diff options
context:
space:
mode:
authorMW2007-03-25 20:23:06 +0000
committerMW2007-03-25 20:23:06 +0000
commit84c2a72140822fc28da3590b48db392d132ef0ea (patch)
treef7060653bc50070a48cd86f6940381dbde32c910 /OpenSim.RegionServer
parent* Hopefully it builds again... (diff)
downloadopensim-SC-84c2a72140822fc28da3590b48db392d132ef0ea.zip
opensim-SC-84c2a72140822fc28da3590b48db392d132ef0ea.tar.gz
opensim-SC-84c2a72140822fc28da3590b48db392d132ef0ea.tar.bz2
opensim-SC-84c2a72140822fc28da3590b48db392d132ef0ea.tar.xz
Hopefully fixed the texture uploading and the crashing when a prim with a uploaded texture on it is moved.
Diffstat (limited to 'OpenSim.RegionServer')
-rw-r--r--OpenSim.RegionServer/AgentAssetUpload.cs6
-rw-r--r--OpenSim.RegionServer/Assets/AssetCache.cs18
-rw-r--r--OpenSim.RegionServer/Assets/InventoryCache.cs6
-rw-r--r--OpenSim.RegionServer/SimClient.cs16
-rw-r--r--OpenSim.RegionServer/world/Primitive.cs8
5 files changed, 30 insertions, 24 deletions
diff --git a/OpenSim.RegionServer/AgentAssetUpload.cs b/OpenSim.RegionServer/AgentAssetUpload.cs
index 2b4d78f..5d40c88 100644
--- a/OpenSim.RegionServer/AgentAssetUpload.cs
+++ b/OpenSim.RegionServer/AgentAssetUpload.cs
@@ -20,7 +20,6 @@ namespace OpenSim
20 20
21 public void AddUpload(LLUUID transactionID, AssetBase asset) 21 public void AddUpload(LLUUID transactionID, AssetBase asset)
22 { 22 {
23 Console.WriteLine("adding upload asset");
24 AssetTransaction upload = new AssetTransaction(); 23 AssetTransaction upload = new AssetTransaction();
25 lock (this.transactions) 24 lock (this.transactions)
26 { 25 {
@@ -40,7 +39,6 @@ namespace OpenSim
40 } 39 }
41 else 40 else
42 { 41 {
43 Console.WriteLine(" no data in upload request so use xfer system");
44 upload.UploadComplete = false; 42 upload.UploadComplete = false;
45 upload.XferID = Util.GetNextXferID(); 43 upload.XferID = Util.GetNextXferID();
46 RequestXferPacket xfer = new RequestXferPacket(); 44 RequestXferPacket xfer = new RequestXferPacket();
@@ -155,7 +153,7 @@ namespace OpenSim
155 OpenSimRoot.Instance.InventoryCache.AddNewInventoryItem(this.ourClient, trans.InventFolder, trans.Asset); 153 OpenSimRoot.Instance.InventoryCache.AddNewInventoryItem(this.ourClient, trans.InventFolder, trans.Asset);
156 } 154 }
157 155
158 Console.WriteLine(Helpers.FieldToString(trans.Asset.Data)); 156
159 } 157 }
160 break; 158 break;
161 } 159 }
@@ -183,7 +181,7 @@ namespace OpenSim
183 { 181 {
184 //already complete so we can add it to the inventory 182 //already complete so we can add it to the inventory
185 OpenSimRoot.Instance.AssetCache.AddAsset(trans.Asset); 183 OpenSimRoot.Instance.AssetCache.AddAsset(trans.Asset);
186 OpenSimRoot.Instance.InventoryCache.AddNewInventoryItem(this.ourClient, packet.InventoryBlock.FolderID, trans.Asset); 184 Console.WriteLine( "ITem created is " +OpenSimRoot.Instance.InventoryCache.AddNewInventoryItem(this.ourClient, packet.InventoryBlock.FolderID, trans.Asset).ToStringHyphenated());
187 } 185 }
188 else 186 else
189 { 187 {
diff --git a/OpenSim.RegionServer/Assets/AssetCache.cs b/OpenSim.RegionServer/Assets/AssetCache.cs
index c1b3472..3c28e1c 100644
--- a/OpenSim.RegionServer/Assets/AssetCache.cs
+++ b/OpenSim.RegionServer/Assets/AssetCache.cs
@@ -139,17 +139,23 @@ namespace OpenSim.Assets
139 139
140 public void AddAsset(AssetBase asset) 140 public void AddAsset(AssetBase asset)
141 { 141 {
142 this._assetServer.UploadNewAsset(asset);
143 if (asset.Type == 0) 142 if (asset.Type == 0)
144 { 143 {
145 //texture 144 if (!this.Textures.ContainsKey(asset.FullID))
146 TextureImage textur = new TextureImage(asset); 145 { //texture
147 this.Textures.Add(textur.FullID, textur); 146 TextureImage textur = new TextureImage(asset);
147 this.Textures.Add(textur.FullID, textur);
148 this._assetServer.UploadNewAsset(asset);
149 }
148 } 150 }
149 else 151 else
150 { 152 {
151 AssetInfo assetInf = new AssetInfo(asset); 153 if (!this.Assets.ContainsKey(asset.FullID))
152 this.Assets.Add(assetInf.FullID, assetInf); 154 {
155 AssetInfo assetInf = new AssetInfo(asset);
156 this.Assets.Add(assetInf.FullID, assetInf);
157 this._assetServer.UploadNewAsset(asset);
158 }
153 } 159 }
154 } 160 }
155 161
diff --git a/OpenSim.RegionServer/Assets/InventoryCache.cs b/OpenSim.RegionServer/Assets/InventoryCache.cs
index 9e73fe5..f50047a 100644
--- a/OpenSim.RegionServer/Assets/InventoryCache.cs
+++ b/OpenSim.RegionServer/Assets/InventoryCache.cs
@@ -191,10 +191,10 @@ namespace OpenSim.Assets
191 InventoryReply.InventoryData[0].AssetID = Item.AssetID; 191 InventoryReply.InventoryData[0].AssetID = Item.AssetID;
192 InventoryReply.InventoryData[0].CreatorID = Item.CreatorID; 192 InventoryReply.InventoryData[0].CreatorID = Item.CreatorID;
193 InventoryReply.InventoryData[0].BaseMask = FULL_MASK_PERMISSIONS; 193 InventoryReply.InventoryData[0].BaseMask = FULL_MASK_PERMISSIONS;
194 InventoryReply.InventoryData[0].CreationDate = 1000; 194 InventoryReply.InventoryData[0].CreationDate = (int)(DateTime.UtcNow - new DateTime(1970, 1, 1)).TotalSeconds;
195 InventoryReply.InventoryData[0].Description = _enc.GetBytes(Item.Description + "\0"); 195 InventoryReply.InventoryData[0].Description = _enc.GetBytes(Item.Description + "\0");
196 InventoryReply.InventoryData[0].EveryoneMask = FULL_MASK_PERMISSIONS; 196 InventoryReply.InventoryData[0].EveryoneMask = FULL_MASK_PERMISSIONS;
197 InventoryReply.InventoryData[0].Flags = 1; 197 InventoryReply.InventoryData[0].Flags = 0;
198 InventoryReply.InventoryData[0].FolderID = Item.FolderID; 198 InventoryReply.InventoryData[0].FolderID = Item.FolderID;
199 InventoryReply.InventoryData[0].GroupID = new LLUUID("00000000-0000-0000-0000-000000000000"); 199 InventoryReply.InventoryData[0].GroupID = new LLUUID("00000000-0000-0000-0000-000000000000");
200 InventoryReply.InventoryData[0].GroupMask = FULL_MASK_PERMISSIONS; 200 InventoryReply.InventoryData[0].GroupMask = FULL_MASK_PERMISSIONS;
@@ -228,7 +228,7 @@ namespace OpenSim.Assets
228 InventoryReply.InventoryData[0].CreationDate = 1000; 228 InventoryReply.InventoryData[0].CreationDate = 1000;
229 InventoryReply.InventoryData[0].Description = _enc.GetBytes(Item.Description + "\0"); 229 InventoryReply.InventoryData[0].Description = _enc.GetBytes(Item.Description + "\0");
230 InventoryReply.InventoryData[0].EveryoneMask = FULL_MASK_PERMISSIONS; 230 InventoryReply.InventoryData[0].EveryoneMask = FULL_MASK_PERMISSIONS;
231 InventoryReply.InventoryData[0].Flags = 1; 231 InventoryReply.InventoryData[0].Flags = 0;
232 InventoryReply.InventoryData[0].FolderID = Item.FolderID; 232 InventoryReply.InventoryData[0].FolderID = Item.FolderID;
233 InventoryReply.InventoryData[0].GroupID = new LLUUID("00000000-0000-0000-0000-000000000000"); 233 InventoryReply.InventoryData[0].GroupID = new LLUUID("00000000-0000-0000-0000-000000000000");
234 InventoryReply.InventoryData[0].GroupMask = FULL_MASK_PERMISSIONS; 234 InventoryReply.InventoryData[0].GroupMask = FULL_MASK_PERMISSIONS;
diff --git a/OpenSim.RegionServer/SimClient.cs b/OpenSim.RegionServer/SimClient.cs
index 9ae1baf..dea385c 100644
--- a/OpenSim.RegionServer/SimClient.cs
+++ b/OpenSim.RegionServer/SimClient.cs
@@ -281,15 +281,15 @@ namespace OpenSim
281 case PacketType.AssetUploadRequest: 281 case PacketType.AssetUploadRequest:
282 //this.debug = true; 282 //this.debug = true;
283 AssetUploadRequestPacket request = (AssetUploadRequestPacket)Pack; 283 AssetUploadRequestPacket request = (AssetUploadRequestPacket)Pack;
284 Console.WriteLine(Pack.ToString()); 284 // Console.WriteLine(Pack.ToString());
285 if (request.AssetBlock.Type == 0) 285 // if (request.AssetBlock.Type == 0)
286 { 286 // {
287 this.UploadAssets.HandleUploadPacket(request, LLUUID.Random()); 287 //this.UploadAssets.HandleUploadPacket(request, LLUUID.Random());
288 } 288 //}
289 else 289 //else
290 { 290 //{*/
291 this.UploadAssets.HandleUploadPacket(request, request.AssetBlock.TransactionID.Combine(this.SecureSessionID)); 291 this.UploadAssets.HandleUploadPacket(request, request.AssetBlock.TransactionID.Combine(this.SecureSessionID));
292 } 292 //}
293 break; 293 break;
294 case PacketType.SendXferPacket: 294 case PacketType.SendXferPacket:
295 Console.WriteLine(Pack.ToString()); 295 Console.WriteLine(Pack.ToString());
diff --git a/OpenSim.RegionServer/world/Primitive.cs b/OpenSim.RegionServer/world/Primitive.cs
index b190d81..6ff66a3 100644
--- a/OpenSim.RegionServer/world/Primitive.cs
+++ b/OpenSim.RegionServer/world/Primitive.cs
@@ -220,7 +220,8 @@ namespace OpenSim.world
220 220
221 public void UpdateTexture(byte[] tex) 221 public void UpdateTexture(byte[] tex)
222 { 222 {
223 this.primData.Texture = this.OurPacket.ObjectData[0].TextureEntry = tex; 223 this.OurPacket.ObjectData[0].TextureEntry = tex;
224 this.primData.Texture = tex;
224 this.dirtyFlag = true; 225 this.dirtyFlag = true;
225 } 226 }
226 227
@@ -401,8 +402,9 @@ namespace OpenSim.world
401 402
402 int i = 0; 403 int i = 0;
403 ImprovedTerseObjectUpdatePacket.ObjectDataBlock dat = new ImprovedTerseObjectUpdatePacket.ObjectDataBlock(); 404 ImprovedTerseObjectUpdatePacket.ObjectDataBlock dat = new ImprovedTerseObjectUpdatePacket.ObjectDataBlock();
404 dat.TextureEntry = this.OurPacket.ObjectData[0].TextureEntry; 405 //dat.TextureEntry = this.OurPacket.ObjectData[0].TextureEntry;
405 406 dat.TextureEntry = new byte[0];
407 //Console.WriteLine("texture-entry length in improvedterse block is " + this.OurPacket.ObjectData[0].TextureEntry.Length);
406 bytes[i++] = (byte)(ID % 256); 408 bytes[i++] = (byte)(ID % 256);
407 bytes[i++] = (byte)((ID >> 8) % 256); 409 bytes[i++] = (byte)((ID >> 8) % 256);
408 bytes[i++] = (byte)((ID >> 16) % 256); 410 bytes[i++] = (byte)((ID >> 16) % 256);