diff --git a/OpenMetaverse/Caps.cs b/OpenMetaverse/Caps.cs
index 88d6b30e..e4c7c6b8 100644
--- a/OpenMetaverse/Caps.cs
+++ b/OpenMetaverse/Caps.cs
@@ -169,7 +169,6 @@ namespace OpenMetaverse
req.Add("ViewerStartAuction");
req.Add("ViewerStats");
-
_SeedRequest = new CapsClient(new Uri(_SeedCapsURI));
_SeedRequest.OnComplete += new CapsClient.CompleteCallback(SeedRequestCompleteHandler);
_SeedRequest.BeginGetResponse(req, OSDFormat.Xml, Simulator.Client.Settings.CAPS_TIMEOUT);
diff --git a/OpenMetaverse/Messages/LindenMessages.cs b/OpenMetaverse/Messages/LindenMessages.cs
index b319879f..56733f88 100644
--- a/OpenMetaverse/Messages/LindenMessages.cs
+++ b/OpenMetaverse/Messages/LindenMessages.cs
@@ -1317,6 +1317,109 @@ namespace OpenMetaverse.Messages.Linden
}
}
}
+
+ ///
+ /// Base class for Baked Texture uploads/result
+ ///
+ public abstract class UploadBakedTextureBlock
+ {
+ ///
+ /// Serialize the object
+ ///
+ /// An containing the objects data
+ public abstract OSDMap Serialize();
+
+ ///
+ /// Deserialize the message
+ ///
+ /// An containing the data
+ public abstract void Deserialize(OSDMap map);
+ }
+
+ ///
+ /// Request a capability to upload baked textures to
+ ///
+ public class UploadBakedTextureRequestUpload : UploadBakedTextureBlock
+ {
+ /// The request state (Always "upload")
+ public string State = "upload";
+ /// The Capability URL sent by the simulator to upload the baked texture to
+ public string Url;
+
+ public override OSDMap Serialize()
+ {
+ OSDMap map = new OSDMap(2);
+ map["state"] = OSD.FromString(State);
+ map["uploader"] = OSD.FromString(Url);
+
+ return map;
+ }
+
+ public override void Deserialize(OSDMap map)
+ {
+ Url = map["uploader"].AsString();
+ }
+ }
+
+ ///
+ /// Response from the simulator to notify the viewer the upload is completed, and
+ /// the UUID of the baked texture asset
+ ///
+ public class UploadBakedTextureRequestComplete : UploadBakedTextureBlock
+ {
+ /// The request state (Always "complete")
+ public string State = "complete";
+ /// The uploaded texture asset ID
+ public UUID AssetID;
+
+ public override OSDMap Serialize()
+ {
+ OSDMap map = new OSDMap(2);
+ map["state"] = OSD.FromString(State);
+ map["new_asset"] = OSD.FromUUID(AssetID);
+
+ return map;
+ }
+
+ public override void Deserialize(OSDMap map)
+ {
+ AssetID = map["new_asset"].AsUUID();
+ }
+ }
+
+ ///
+ /// Request a capability for uploading baked textures
+ ///
+ public class UploadBakedTextureMessage : IMessage
+ {
+ ///
+ public UploadBakedTextureBlock Request;
+
+ ///
+ /// Serialize the object
+ ///
+ /// An containing the objects data
+ public OSDMap Serialize()
+ {
+ return Request.Serialize();
+ }
+
+ ///
+ /// Deserialize the message
+ ///
+ /// An containing the data
+ public void Deserialize(OSDMap map)
+ {
+ if (map.ContainsKey("state") && map["state"].Equals("upload"))
+ Request = new UploadBakedTextureRequestUpload();
+ else if (map.ContainsKey("state") && map["state"].Equals("complete"))
+ Request = new UploadBakedTextureRequestComplete();
+ else
+ Logger.Log("Unable to deserialize UploadBakedTexture: No message handler exists for state " + map["state"].AsString(), Helpers.LogLevel.Warning);
+
+ Request.Deserialize(map);
+ }
+ }
#endregion
#region Voice Messages
@@ -1425,7 +1528,9 @@ namespace OpenMetaverse.Messages.Linden
#endregion
#region Script/Notecards Messages
- // upload a script to a tasks inventory
+ ///
+ ///
+ ///
public class UploadScriptTaskMessage : IMessage
{
public string State; // "upload"
@@ -1808,7 +1913,7 @@ namespace OpenMetaverse.Messages.Linden
/// An containing the data
public void Deserialize(OSDMap map)
{
-
+ throw new NotImplementedException();
}
}
diff --git a/OpenMetaverse/Messages/MessageEventDecoder.cs b/OpenMetaverse/Messages/MessageEventDecoder.cs
index f41f87d6..850c7166 100644
--- a/OpenMetaverse/Messages/MessageEventDecoder.cs
+++ b/OpenMetaverse/Messages/MessageEventDecoder.cs
@@ -82,36 +82,8 @@ namespace OpenMetaverse.Messages
case "ScriptRunningReply": message = new ScriptRunningReplyMessage(); break;
case "SearchStatRequest": message = new SearchStatRequestMessage(); break;
case "AgentDropGroup": message = new AgentDropGroupMessage(); break;
- /*
- * {
- 'body':
- {
- 'AgentData':
- [
- {
- 'AgentID':u8ec835d1-b61d-4563-86da-c91e174f0f2e
- ,
- 'GroupID':u04f595b0-cdc8-97f0-e710-9564824c03b2
- }
- ]
- }
- ,
- 'message':'AgentDropGroup'
- }*/
case "ForceCloseChatterBoxSession": message = new ForceCloseChatterBoxSessionMessage(); break;
- /*
- * No Decoder for ForceCloseChatterBoxSession
-
- {
- 'body':
- {
- 'reason':'removed'
- ,
- 'session_id':u04f595b0-cdc8-97f0-e710-9564824c03b2
- }
- ,
- 'message':'ForceCloseChatterBoxSession'
- } */
+ case "UploadBakedTexture": message = new UploadBakedTextureMessage(); break;
//case "ProductInfoRequest": message = new ProductInfoRequestMessage(); break;
// Capabilities TODO:
diff --git a/OpenMetaverse/Settings.cs b/OpenMetaverse/Settings.cs
index 141d3972..80a45146 100644
--- a/OpenMetaverse/Settings.cs
+++ b/OpenMetaverse/Settings.cs
@@ -252,7 +252,7 @@ namespace OpenMetaverse
/// If true, images downloaded from the server will be cached
/// in a local directory
///
- public bool USE_TEXTURE_CACHE = false;
+ public bool USE_TEXTURE_CACHE = true;
/// Path to store cached texture data
public string TEXTURE_CACHE_DIR = RESOURCE_DIR + "/cache";