aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region')
-rw-r--r--OpenSim/Region/CoreModules/Avatar/ObjectCaps/UploadObjectAssetModule.cs82
-rw-r--r--OpenSim/Region/CoreModules/ServiceConnectorsOut/UserAccounts/UserAccountCache.cs4
2 files changed, 67 insertions, 19 deletions
diff --git a/OpenSim/Region/CoreModules/Avatar/ObjectCaps/UploadObjectAssetModule.cs b/OpenSim/Region/CoreModules/Avatar/ObjectCaps/UploadObjectAssetModule.cs
index d5c6e9d..09b9719 100644
--- a/OpenSim/Region/CoreModules/Avatar/ObjectCaps/UploadObjectAssetModule.cs
+++ b/OpenSim/Region/CoreModules/Avatar/ObjectCaps/UploadObjectAssetModule.cs
@@ -47,6 +47,7 @@ using Caps = OpenSim.Framework.Capabilities.Caps;
47using OSD = OpenMetaverse.StructuredData.OSD; 47using OSD = OpenMetaverse.StructuredData.OSD;
48using OSDMap = OpenMetaverse.StructuredData.OSDMap; 48using OSDMap = OpenMetaverse.StructuredData.OSDMap;
49using OpenSim.Framework.Capabilities; 49using OpenSim.Framework.Capabilities;
50using ExtraParamType = OpenMetaverse.ExtraParamType;
50 51
51namespace OpenSim.Region.CoreModules.Avatar.ObjectCaps 52namespace OpenSim.Region.CoreModules.Avatar.ObjectCaps
52{ 53{
@@ -188,25 +189,74 @@ namespace OpenSim.Region.CoreModules.Avatar.ObjectCaps
188 rootrot = obj.Rotation; 189 rootrot = obj.Rotation;
189 190
190 } 191 }
192
193
191 // Combine the extraparams data into it's ugly blob again.... 194 // Combine the extraparams data into it's ugly blob again....
192 int bytelength = 0; 195 //int bytelength = 0;
193 for (int extparams = 0; extparams < obj.ExtraParams.Length; extparams++) 196 //for (int extparams = 0; extparams < obj.ExtraParams.Length; extparams++)
194 { 197 //{
195 bytelength += obj.ExtraParams[extparams].ExtraParamData.Length; 198 // bytelength += obj.ExtraParams[extparams].ExtraParamData.Length;
196 } 199 //}
197 byte[] extraparams = new byte[bytelength]; 200 //byte[] extraparams = new byte[bytelength];
198 int position = 0; 201 //int position = 0;
199 202
200 for (int extparams = 0; extparams < obj.ExtraParams.Length; extparams++)
201 {
202 Buffer.BlockCopy(obj.ExtraParams[extparams].ExtraParamData, 0, extraparams, position,
203 obj.ExtraParams[extparams].ExtraParamData.Length);
204 203
205 position += obj.ExtraParams[extparams].ExtraParamData.Length;
206 }
207 204
208 pbs.ExtraParams = extraparams; 205 //for (int extparams = 0; extparams < obj.ExtraParams.Length; extparams++)
206 //{
207 // Buffer.BlockCopy(obj.ExtraParams[extparams].ExtraParamData, 0, extraparams, position,
208 // obj.ExtraParams[extparams].ExtraParamData.Length);
209 //
210 // position += obj.ExtraParams[extparams].ExtraParamData.Length;
211 // }
209 212
213 //pbs.ExtraParams = extraparams;
214 for (int extparams = 0; extparams < obj.ExtraParams.Length; extparams++)
215 {
216 UploadObjectAssetMessage.Object.ExtraParam extraParam = obj.ExtraParams[extparams];
217 switch ((ushort)extraParam.Type)
218 {
219 case (ushort)ExtraParamType.Sculpt:
220 Primitive.SculptData sculpt = new Primitive.SculptData(extraParam.ExtraParamData, 0);
221
222 pbs.SculptEntry = true;
223
224 pbs.SculptTexture = obj.SculptID;
225 pbs.SculptType = (byte)sculpt.Type;
226
227 break;
228 case (ushort)ExtraParamType.Flexible:
229 Primitive.FlexibleData flex = new Primitive.FlexibleData(extraParam.ExtraParamData, 0);
230 pbs.FlexiEntry = true;
231 pbs.FlexiDrag = flex.Drag;
232 pbs.FlexiForceX = flex.Force.X;
233 pbs.FlexiForceY = flex.Force.Y;
234 pbs.FlexiForceZ = flex.Force.Z;
235 pbs.FlexiGravity = flex.Gravity;
236 pbs.FlexiSoftness = flex.Softness;
237 pbs.FlexiTension = flex.Tension;
238 pbs.FlexiWind = flex.Wind;
239 break;
240 case (ushort)ExtraParamType.Light:
241 Primitive.LightData light = new Primitive.LightData(extraParam.ExtraParamData, 0);
242 pbs.LightColorA = light.Color.A;
243 pbs.LightColorB = light.Color.B;
244 pbs.LightColorG = light.Color.G;
245 pbs.LightColorR = light.Color.R;
246 pbs.LightCutoff = light.Cutoff;
247 pbs.LightEntry = true;
248 pbs.LightFalloff = light.Falloff;
249 pbs.LightIntensity = light.Intensity;
250 pbs.LightRadius = light.Radius;
251 break;
252 case 0x40:
253 pbs.ReadProjectionData(extraParam.ExtraParamData, 0);
254 break;
255
256 }
257
258
259 }
210 pbs.PathBegin = (ushort) obj.PathBegin; 260 pbs.PathBegin = (ushort) obj.PathBegin;
211 pbs.PathCurve = (byte) obj.PathCurve; 261 pbs.PathCurve = (byte) obj.PathCurve;
212 pbs.PathEnd = (ushort) obj.PathEnd; 262 pbs.PathEnd = (ushort) obj.PathEnd;
@@ -269,9 +319,7 @@ namespace OpenSim.Region.CoreModules.Avatar.ObjectCaps
269 pbs.TextureEntry = tmp.GetBytes(); 319 pbs.TextureEntry = tmp.GetBytes();
270 prim.Shape = pbs; 320 prim.Shape = pbs;
271 prim.Scale = obj.Scale; 321 prim.Scale = obj.Scale;
272 prim.Shape.SculptEntry = true; 322
273 prim.Shape.SculptTexture = obj.SculptID;
274 prim.Shape.SculptType = (byte) SculptType.Mesh;
275 323
276 SceneObjectGroup grp = new SceneObjectGroup(); 324 SceneObjectGroup grp = new SceneObjectGroup();
277 325
diff --git a/OpenSim/Region/CoreModules/ServiceConnectorsOut/UserAccounts/UserAccountCache.cs b/OpenSim/Region/CoreModules/ServiceConnectorsOut/UserAccounts/UserAccountCache.cs
index e7cfda1..155335b 100644
--- a/OpenSim/Region/CoreModules/ServiceConnectorsOut/UserAccounts/UserAccountCache.cs
+++ b/OpenSim/Region/CoreModules/ServiceConnectorsOut/UserAccounts/UserAccountCache.cs
@@ -36,7 +36,7 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.UserAccounts
36{ 36{
37 public class UserAccountCache 37 public class UserAccountCache
38 { 38 {
39 private const double CACHE_EXPIRATION_SECONDS = 120.0; 39 private const double CACHE_EXPIRATION_SECONDS = 120000.0; // 33 hours!
40 40
41 private static readonly ILog m_log = 41 private static readonly ILog m_log =
42 LogManager.GetLogger( 42 LogManager.GetLogger(
@@ -57,7 +57,7 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.UserAccounts
57 if (account != null) 57 if (account != null)
58 m_NameCache.AddOrUpdate(account.Name, account.PrincipalID, CACHE_EXPIRATION_SECONDS); 58 m_NameCache.AddOrUpdate(account.Name, account.PrincipalID, CACHE_EXPIRATION_SECONDS);
59 59
60 m_log.DebugFormat("[USER CACHE]: cached user {0}", userID); 60 //m_log.DebugFormat("[USER CACHE]: cached user {0}", userID);
61 } 61 }
62 62
63 public UserAccount Get(UUID userID, out bool inCache) 63 public UserAccount Get(UUID userID, out bool inCache)