aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/ClientStack
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region/ClientStack')
-rw-r--r--OpenSim/Region/ClientStack/Linden/Caps/BunchOfCaps/MeshCost.cs9
-rw-r--r--OpenSim/Region/ClientStack/Linden/Caps/GetTextureModule.cs14
-rw-r--r--OpenSim/Region/ClientStack/Linden/Caps/WebFetchInvDescModule.cs28
-rw-r--r--OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs8
4 files changed, 37 insertions, 22 deletions
diff --git a/OpenSim/Region/ClientStack/Linden/Caps/BunchOfCaps/MeshCost.cs b/OpenSim/Region/ClientStack/Linden/Caps/BunchOfCaps/MeshCost.cs
index f03d8d8..66bb429 100644
--- a/OpenSim/Region/ClientStack/Linden/Caps/BunchOfCaps/MeshCost.cs
+++ b/OpenSim/Region/ClientStack/Linden/Caps/BunchOfCaps/MeshCost.cs
@@ -35,10 +35,13 @@ namespace OpenSim.Region.ClientStack.Linden
35 // fees are normalized to 1.0 35 // fees are normalized to 1.0
36 // this parameters scale them to basic cost ( so 1.0 translates to 10 ) 36 // this parameters scale them to basic cost ( so 1.0 translates to 10 )
37 37
38 public float ModelMeshCostFactor = 1.0f; // scale total cost relative to basic (excluding textures) 38 public float ModelMeshCostFactor = 0f; //Free
39 public float ModelTextureCostFactor = 1.0f; // scale textures fee to basic. 39 public float ModelMinCostFactor = 0f; // Free
40 public float ModelMinCostFactor = 0.5f; // minimum total model free excluding textures 40 //public float ModelMeshCostFactor = 1.0f; // scale total cost relative to basic (excluding textures)
41 //public float ModelMinCostFactor = 0.5f; // minimum total model free excluding textures
41 42
43 public float ModelTextureCostFactor = 1.00f; // keep full price because texture price
44 // is based on it's storage needs not on usability
42 // itens costs in normalized values 45 // itens costs in normalized values
43 // ie will be multiplied by basicCost and factors above 46 // ie will be multiplied by basicCost and factors above
44 const float primCreationCost = 0.002f; // extra cost for each prim creation overhead 47 const float primCreationCost = 0.002f; // extra cost for each prim creation overhead
diff --git a/OpenSim/Region/ClientStack/Linden/Caps/GetTextureModule.cs b/OpenSim/Region/ClientStack/Linden/Caps/GetTextureModule.cs
index 0ac56ec..2000279 100644
--- a/OpenSim/Region/ClientStack/Linden/Caps/GetTextureModule.cs
+++ b/OpenSim/Region/ClientStack/Linden/Caps/GetTextureModule.cs
@@ -146,14 +146,14 @@ namespace OpenSim.Region.ClientStack.Linden
146 { 146 {
147 m_scene = scene; 147 m_scene = scene;
148 148
149 HasEvents = (x, y) => { return this.responses.ContainsKey(x); }; 149 HasEvents = (x, y) => { lock (responses) return responses.ContainsKey(x); };
150 GetEvents = (x, y, s) => 150 GetEvents = (x, y, s) =>
151 { 151 {
152 lock (responses) 152 lock (responses)
153 { 153 {
154 try 154 try
155 { 155 {
156 return this.responses[x]; 156 return responses[x];
157 } 157 }
158 finally 158 finally
159 { 159 {
@@ -165,15 +165,15 @@ namespace OpenSim.Region.ClientStack.Linden
165 Request = (x, y) => 165 Request = (x, y) =>
166 { 166 {
167 y["RequestID"] = x.ToString(); 167 y["RequestID"] = x.ToString();
168 lock (this.requests) 168 lock (requests)
169 this.requests.Add(y); 169 requests.Add(y);
170 170
171 m_queue.Enqueue(this); 171 m_queue.Enqueue(this);
172 }; 172 };
173 173
174 NoEvents = (x, y) => 174 NoEvents = (x, y) =>
175 { 175 {
176 lock (this.requests) 176 lock (requests)
177 { 177 {
178 Hashtable request = requests.Find(id => id["RequestID"].ToString() == x.ToString()); 178 Hashtable request = requests.Find(id => id["RequestID"].ToString() == x.ToString());
179 requests.Remove(request); 179 requests.Remove(request);
@@ -198,7 +198,7 @@ namespace OpenSim.Region.ClientStack.Linden
198 198
199 try 199 try
200 { 200 {
201 lock (this.requests) 201 lock (requests)
202 { 202 {
203 request = requests[0]; 203 request = requests[0];
204 requests.RemoveAt(0); 204 requests.RemoveAt(0);
@@ -221,8 +221,10 @@ namespace OpenSim.Region.ClientStack.Linden
221 response["content_type"] = "text/plain"; 221 response["content_type"] = "text/plain";
222 response["keepalive"] = false; 222 response["keepalive"] = false;
223 response["reusecontext"] = false; 223 response["reusecontext"] = false;
224
224 lock (responses) 225 lock (responses)
225 responses[requestID] = response; 226 responses[requestID] = response;
227
226 return; 228 return;
227 } 229 }
228 230
diff --git a/OpenSim/Region/ClientStack/Linden/Caps/WebFetchInvDescModule.cs b/OpenSim/Region/ClientStack/Linden/Caps/WebFetchInvDescModule.cs
index 4908c2c..f76ea74 100644
--- a/OpenSim/Region/ClientStack/Linden/Caps/WebFetchInvDescModule.cs
+++ b/OpenSim/Region/ClientStack/Linden/Caps/WebFetchInvDescModule.cs
@@ -144,31 +144,34 @@ namespace OpenSim.Region.ClientStack.Linden
144 public PollServiceInventoryEventArgs(UUID pId) : 144 public PollServiceInventoryEventArgs(UUID pId) :
145 base(null, null, null, null, pId, 30000) 145 base(null, null, null, null, pId, 30000)
146 { 146 {
147 HasEvents = (x, y) => { return this.responses.ContainsKey(x); }; 147 HasEvents = (x, y) => { lock (responses) return responses.ContainsKey(x); };
148 GetEvents = (x, y, s) => 148 GetEvents = (x, y, s) =>
149 { 149 {
150 try 150 lock (responses)
151 { 151 {
152 return this.responses[x]; 152 try
153 } 153 {
154 finally 154 return responses[x];
155 { 155 }
156 responses.Remove(x); 156 finally
157 {
158 responses.Remove(x);
159 }
157 } 160 }
158 }; 161 };
159 162
160 Request = (x, y) => 163 Request = (x, y) =>
161 { 164 {
162 y["RequestID"] = x.ToString(); 165 y["RequestID"] = x.ToString();
163 lock (this.requests) 166 lock (requests)
164 this.requests.Add(y); 167 requests.Add(y);
165 168
166 m_queue.Enqueue(this); 169 m_queue.Enqueue(this);
167 }; 170 };
168 171
169 NoEvents = (x, y) => 172 NoEvents = (x, y) =>
170 { 173 {
171 lock (this.requests) 174 lock (requests)
172 { 175 {
173 Hashtable request = requests.Find(id => id["RequestID"].ToString() == x.ToString()); 176 Hashtable request = requests.Find(id => id["RequestID"].ToString() == x.ToString());
174 requests.Remove(request); 177 requests.Remove(request);
@@ -192,7 +195,7 @@ namespace OpenSim.Region.ClientStack.Linden
192 195
193 try 196 try
194 { 197 {
195 lock (this.requests) 198 lock (requests)
196 { 199 {
197 request = requests[0]; 200 request = requests[0];
198 requests.RemoveAt(0); 201 requests.RemoveAt(0);
@@ -214,7 +217,8 @@ namespace OpenSim.Region.ClientStack.Linden
214 217
215 response["str_response_string"] = m_webFetchHandler.FetchInventoryDescendentsRequest(request["body"].ToString(), String.Empty, String.Empty, null, null); 218 response["str_response_string"] = m_webFetchHandler.FetchInventoryDescendentsRequest(request["body"].ToString(), String.Empty, String.Empty, null, null);
216 219
217 responses[requestID] = response; 220 lock (responses)
221 responses[requestID] = response;
218 } 222 }
219 } 223 }
220 224
diff --git a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs
index 7749ef3..ee28914 100644
--- a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs
+++ b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs
@@ -2067,9 +2067,14 @@ namespace OpenSim.Region.ClientStack.LindenUDP
2067 OutPacket(bulkUpdate, ThrottleOutPacketType.Asset); 2067 OutPacket(bulkUpdate, ThrottleOutPacketType.Asset);
2068 } 2068 }
2069 2069
2070 /// <see>IClientAPI.SendInventoryItemCreateUpdate(InventoryItemBase)</see>
2071 public void SendInventoryItemCreateUpdate(InventoryItemBase Item, uint callbackId) 2070 public void SendInventoryItemCreateUpdate(InventoryItemBase Item, uint callbackId)
2072 { 2071 {
2072 SendInventoryItemCreateUpdate(Item, UUID.Zero, callbackId);
2073 }
2074
2075 /// <see>IClientAPI.SendInventoryItemCreateUpdate(InventoryItemBase)</see>
2076 public void SendInventoryItemCreateUpdate(InventoryItemBase Item, UUID transactionID, uint callbackId)
2077 {
2073 const uint FULL_MASK_PERMISSIONS = (uint)PermissionMask.All; 2078 const uint FULL_MASK_PERMISSIONS = (uint)PermissionMask.All;
2074 2079
2075 UpdateCreateInventoryItemPacket InventoryReply 2080 UpdateCreateInventoryItemPacket InventoryReply
@@ -2079,6 +2084,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
2079 // TODO: don't create new blocks if recycling an old packet 2084 // TODO: don't create new blocks if recycling an old packet
2080 InventoryReply.AgentData.AgentID = AgentId; 2085 InventoryReply.AgentData.AgentID = AgentId;
2081 InventoryReply.AgentData.SimApproved = true; 2086 InventoryReply.AgentData.SimApproved = true;
2087 InventoryReply.AgentData.TransactionID = transactionID;
2082 InventoryReply.InventoryData = new UpdateCreateInventoryItemPacket.InventoryDataBlock[1]; 2088 InventoryReply.InventoryData = new UpdateCreateInventoryItemPacket.InventoryDataBlock[1];
2083 InventoryReply.InventoryData[0] = new UpdateCreateInventoryItemPacket.InventoryDataBlock(); 2089 InventoryReply.InventoryData[0] = new UpdateCreateInventoryItemPacket.InventoryDataBlock();
2084 InventoryReply.InventoryData[0].ItemID = Item.ID; 2090 InventoryReply.InventoryData[0].ItemID = Item.ID;