diff options
author | UbitUmarov | 2017-06-24 09:24:56 +0100 |
---|---|---|
committer | UbitUmarov | 2017-06-24 09:24:56 +0100 |
commit | 1a8a77c41e4061b75ff97fcf89e39717550bfa25 (patch) | |
tree | 325976c8554389b0b566db57eb71a6816ae15291 | |
parent | simplify vectorrender background draw (diff) | |
download | opensim-SC_OLD-1a8a77c41e4061b75ff97fcf89e39717550bfa25.zip opensim-SC_OLD-1a8a77c41e4061b75ff97fcf89e39717550bfa25.tar.gz opensim-SC_OLD-1a8a77c41e4061b75ff97fcf89e39717550bfa25.tar.bz2 opensim-SC_OLD-1a8a77c41e4061b75ff97fcf89e39717550bfa25.tar.xz |
revert the thread level change; remove unused dynamic texture timer from internal code; let blend alpha work if < 255; let blend work with the selected face; etc
6 files changed, 72 insertions, 98 deletions
diff --git a/OpenSim/Region/CoreModules/Scripting/DynamicTexture/DynamicTextureModule.cs b/OpenSim/Region/CoreModules/Scripting/DynamicTexture/DynamicTextureModule.cs index 82596ca..c0b7ab5 100644 --- a/OpenSim/Region/CoreModules/Scripting/DynamicTexture/DynamicTextureModule.cs +++ b/OpenSim/Region/CoreModules/Scripting/DynamicTexture/DynamicTextureModule.cs | |||
@@ -138,13 +138,10 @@ namespace OpenSim.Region.CoreModules.Scripting.DynamicTexture | |||
138 | updater.newTextureID = newTextureID; | 138 | updater.newTextureID = newTextureID; |
139 | } | 139 | } |
140 | 140 | ||
141 | if (updater.UpdateTimer == 0) | 141 | lock (Updaters) |
142 | { | 142 | { |
143 | lock (Updaters) | 143 | if (Updaters.ContainsKey(updater.UpdaterID)) |
144 | { | 144 | Updaters.Remove(updater.UpdaterID); |
145 | if (Updaters.ContainsKey(updater.UpdaterID)) | ||
146 | Updaters.Remove(updater.UpdaterID); | ||
147 | } | ||
148 | } | 145 | } |
149 | } | 146 | } |
150 | } | 147 | } |
@@ -171,21 +168,20 @@ namespace OpenSim.Region.CoreModules.Scripting.DynamicTexture | |||
171 | } | 168 | } |
172 | 169 | ||
173 | public UUID AddDynamicTextureURL(UUID simID, UUID primID, string contentType, string url, | 170 | public UUID AddDynamicTextureURL(UUID simID, UUID primID, string contentType, string url, |
174 | string extraParams, int updateTimer) | 171 | string extraParams) |
175 | { | 172 | { |
176 | return AddDynamicTextureURL(simID, primID, contentType, url, extraParams, updateTimer, false, 255); | 173 | return AddDynamicTextureURL(simID, primID, contentType, url, extraParams, false, 255); |
177 | } | 174 | } |
178 | 175 | ||
179 | public UUID AddDynamicTextureURL(UUID simID, UUID primID, string contentType, string url, | 176 | public UUID AddDynamicTextureURL(UUID simID, UUID primID, string contentType, string url, |
180 | string extraParams, int updateTimer, bool SetBlending, byte AlphaValue) | 177 | string extraParams, bool SetBlending, byte AlphaValue) |
181 | { | 178 | { |
182 | return AddDynamicTextureURL(simID, primID, contentType, url, | 179 | return AddDynamicTextureURL(simID, primID, contentType, url, extraParams, SetBlending, |
183 | extraParams, updateTimer, SetBlending, | 180 | (DISP_TEMP|DISP_EXPIRE), AlphaValue, ALL_SIDES); |
184 | (int)(DISP_TEMP|DISP_EXPIRE), AlphaValue, ALL_SIDES); | ||
185 | } | 181 | } |
186 | 182 | ||
187 | public UUID AddDynamicTextureURL(UUID simID, UUID primID, string contentType, string url, | 183 | public UUID AddDynamicTextureURL(UUID simID, UUID primID, string contentType, string url, |
188 | string extraParams, int updateTimer, bool SetBlending, | 184 | string extraParams, bool SetBlending, |
189 | int disp, byte AlphaValue, int face) | 185 | int disp, byte AlphaValue, int face) |
190 | { | 186 | { |
191 | if (RenderPlugins.ContainsKey(contentType)) | 187 | if (RenderPlugins.ContainsKey(contentType)) |
@@ -195,7 +191,6 @@ namespace OpenSim.Region.CoreModules.Scripting.DynamicTexture | |||
195 | updater.PrimID = primID; | 191 | updater.PrimID = primID; |
196 | updater.ContentType = contentType; | 192 | updater.ContentType = contentType; |
197 | updater.Url = url; | 193 | updater.Url = url; |
198 | updater.UpdateTimer = updateTimer; | ||
199 | updater.UpdaterID = UUID.Random(); | 194 | updater.UpdaterID = UUID.Random(); |
200 | updater.Params = extraParams; | 195 | updater.Params = extraParams; |
201 | updater.BlendWithOldTexture = SetBlending; | 196 | updater.BlendWithOldTexture = SetBlending; |
@@ -218,20 +213,21 @@ namespace OpenSim.Region.CoreModules.Scripting.DynamicTexture | |||
218 | } | 213 | } |
219 | 214 | ||
220 | public UUID AddDynamicTextureData(UUID simID, UUID primID, string contentType, string data, | 215 | public UUID AddDynamicTextureData(UUID simID, UUID primID, string contentType, string data, |
221 | string extraParams, int updateTimer) | 216 | string extraParams) |
222 | { | 217 | { |
223 | return AddDynamicTextureData(simID, primID, contentType, data, extraParams, updateTimer, false, 255); | 218 | return AddDynamicTextureData(simID, primID, contentType, data, extraParams, false, |
219 | (DISP_TEMP|DISP_EXPIRE), 255, ALL_SIDES); | ||
224 | } | 220 | } |
225 | 221 | ||
226 | public UUID AddDynamicTextureData(UUID simID, UUID primID, string contentType, string data, | 222 | public UUID AddDynamicTextureData(UUID simID, UUID primID, string contentType, string data, |
227 | string extraParams, int updateTimer, bool SetBlending, byte AlphaValue) | 223 | string extraParams, bool SetBlending, byte AlphaValue) |
228 | { | 224 | { |
229 | return AddDynamicTextureData(simID, primID, contentType, data, extraParams, updateTimer, SetBlending, | 225 | return AddDynamicTextureData(simID, primID, contentType, data, extraParams, SetBlending, |
230 | (int) (DISP_TEMP|DISP_EXPIRE), AlphaValue, ALL_SIDES); | 226 | (DISP_TEMP|DISP_EXPIRE), AlphaValue, ALL_SIDES); |
231 | } | 227 | } |
232 | 228 | ||
233 | public UUID AddDynamicTextureData(UUID simID, UUID primID, string contentType, string data, | 229 | public UUID AddDynamicTextureData(UUID simID, UUID primID, string contentType, string data, |
234 | string extraParams, int updateTimer, bool SetBlending, int disp, byte AlphaValue, int face) | 230 | string extraParams, bool SetBlending, int disp, byte AlphaValue, int face) |
235 | { | 231 | { |
236 | if (!RenderPlugins.ContainsKey(contentType)) | 232 | if (!RenderPlugins.ContainsKey(contentType)) |
237 | return UUID.Zero; | 233 | return UUID.Zero; |
@@ -257,7 +253,6 @@ namespace OpenSim.Region.CoreModules.Scripting.DynamicTexture | |||
257 | updater.PrimID = primID; | 253 | updater.PrimID = primID; |
258 | updater.ContentType = contentType; | 254 | updater.ContentType = contentType; |
259 | updater.BodyData = data; | 255 | updater.BodyData = data; |
260 | updater.UpdateTimer = updateTimer; | ||
261 | updater.UpdaterID = UUID.Random(); | 256 | updater.UpdaterID = UUID.Random(); |
262 | updater.Params = extraParams; | 257 | updater.Params = extraParams; |
263 | updater.BlendWithOldTexture = SetBlending; | 258 | updater.BlendWithOldTexture = SetBlending; |
@@ -403,10 +398,8 @@ namespace OpenSim.Region.CoreModules.Scripting.DynamicTexture | |||
403 | public byte FrontAlpha = 255; | 398 | public byte FrontAlpha = 255; |
404 | public string Params; | 399 | public string Params; |
405 | public UUID PrimID; | 400 | public UUID PrimID; |
406 | public bool SetNewFrontAlpha = false; | ||
407 | public UUID SimUUID; | 401 | public UUID SimUUID; |
408 | public UUID UpdaterID; | 402 | public UUID UpdaterID; |
409 | public int UpdateTimer; | ||
410 | public int Face; | 403 | public int Face; |
411 | public int Disp; | 404 | public int Disp; |
412 | public string Url; | 405 | public string Url; |
@@ -414,7 +407,6 @@ namespace OpenSim.Region.CoreModules.Scripting.DynamicTexture | |||
414 | 407 | ||
415 | public DynamicTextureUpdater() | 408 | public DynamicTextureUpdater() |
416 | { | 409 | { |
417 | UpdateTimer = 0; | ||
418 | BodyData = null; | 410 | BodyData = null; |
419 | } | 411 | } |
420 | 412 | ||
@@ -440,19 +432,15 @@ namespace OpenSim.Region.CoreModules.Scripting.DynamicTexture | |||
440 | { | 432 | { |
441 | oldID = tmptex.DefaultTexture.TextureID; | 433 | oldID = tmptex.DefaultTexture.TextureID; |
442 | tmptex.DefaultTexture.TextureID = textureID; | 434 | tmptex.DefaultTexture.TextureID = textureID; |
435 | for(int i = 0; i < tmptex.FaceTextures.Length; i++) | ||
436 | tmptex.FaceTextures[i] = null; | ||
443 | } | 437 | } |
444 | else | 438 | else |
445 | { | 439 | { |
446 | try | 440 | try |
447 | { | 441 | { |
448 | Primitive.TextureEntryFace texface = tmptex.GetFace((uint)Face); | 442 | Primitive.TextureEntryFace texface = tmptex.CreateFace((uint)Face); |
449 | if(texface == null) | 443 | oldID = texface.TextureID; |
450 | tmptex.GetFace((uint)Face); | ||
451 | else | ||
452 | { | ||
453 | if(texface.TextureID != null && texface.TextureID != UUID.Zero) | ||
454 | oldID = texface.TextureID; | ||
455 | } | ||
456 | texface.TextureID = textureID; | 444 | texface.TextureID = textureID; |
457 | tmptex.FaceTextures[Face] = texface; | 445 | tmptex.FaceTextures[Face] = texface; |
458 | } | 446 | } |
@@ -462,10 +450,6 @@ namespace OpenSim.Region.CoreModules.Scripting.DynamicTexture | |||
462 | } | 450 | } |
463 | } | 451 | } |
464 | 452 | ||
465 | // I'm pretty sure we always want to force this to true | ||
466 | // I'm pretty sure noone whats to set fullbright true if it wasn't true before. | ||
467 | // tmptex.DefaultTexture.Fullbright = true; | ||
468 | |||
469 | part.UpdateTextureEntry(tmptex.GetBytes()); | 453 | part.UpdateTextureEntry(tmptex.GetBytes()); |
470 | } | 454 | } |
471 | 455 | ||
@@ -498,13 +482,26 @@ namespace OpenSim.Region.CoreModules.Scripting.DynamicTexture | |||
498 | 482 | ||
499 | if (BlendWithOldTexture) | 483 | if (BlendWithOldTexture) |
500 | { | 484 | { |
501 | Primitive.TextureEntryFace defaultFace = part.Shape.Textures.DefaultTexture; | 485 | Primitive.TextureEntryFace curFace; |
502 | if (defaultFace != null) | 486 | if(Face == ALL_SIDES) |
487 | curFace = part.Shape.Textures.DefaultTexture; | ||
488 | else | ||
489 | { | ||
490 | try | ||
491 | { | ||
492 | curFace = part.Shape.Textures.GetFace((uint)Face); | ||
493 | } | ||
494 | catch | ||
495 | { | ||
496 | curFace = null; | ||
497 | } | ||
498 | } | ||
499 | if (curFace != null) | ||
503 | { | 500 | { |
504 | oldAsset = scene.AssetService.Get(defaultFace.TextureID.ToString()); | 501 | oldAsset = scene.AssetService.Get(curFace.TextureID.ToString()); |
505 | 502 | ||
506 | if (oldAsset != null) | 503 | if (oldAsset != null) |
507 | assetData = BlendTextures(data, oldAsset.Data, SetNewFrontAlpha, FrontAlpha); | 504 | assetData = BlendTextures(data, oldAsset.Data, FrontAlpha); |
508 | } | 505 | } |
509 | } | 506 | } |
510 | 507 | ||
@@ -555,7 +552,7 @@ namespace OpenSim.Region.CoreModules.Scripting.DynamicTexture | |||
555 | return asset.FullID; | 552 | return asset.FullID; |
556 | } | 553 | } |
557 | 554 | ||
558 | private byte[] BlendTextures(byte[] frontImage, byte[] backImage, bool setNewAlpha, byte newAlpha) | 555 | private byte[] BlendTextures(byte[] frontImage, byte[] backImage, byte newAlpha) |
559 | { | 556 | { |
560 | ManagedImage managedImage; | 557 | ManagedImage managedImage; |
561 | Image image; | 558 | Image image; |
@@ -575,7 +572,7 @@ namespace OpenSim.Region.CoreModules.Scripting.DynamicTexture | |||
575 | Bitmap image2 = new Bitmap(image); | 572 | Bitmap image2 = new Bitmap(image); |
576 | image.Dispose(); | 573 | image.Dispose(); |
577 | 574 | ||
578 | if (setNewAlpha) | 575 | if (newAlpha < 255) |
579 | SetAlpha(ref image1, newAlpha); | 576 | SetAlpha(ref image1, newAlpha); |
580 | 577 | ||
581 | using(Bitmap joint = MergeBitMaps(image1, image2)) | 578 | using(Bitmap joint = MergeBitMaps(image1, image2)) |
diff --git a/OpenSim/Region/CoreModules/Scripting/VectorRender/Tests/VectorRenderModuleTests.cs b/OpenSim/Region/CoreModules/Scripting/VectorRender/Tests/VectorRenderModuleTests.cs index ed255bf..325f7f9 100644 --- a/OpenSim/Region/CoreModules/Scripting/VectorRender/Tests/VectorRenderModuleTests.cs +++ b/OpenSim/Region/CoreModules/Scripting/VectorRender/Tests/VectorRenderModuleTests.cs | |||
@@ -77,8 +77,7 @@ namespace OpenSim.Region.CoreModules.Scripting.VectorRender.Tests | |||
77 | so.UUID, | 77 | so.UUID, |
78 | m_vrm.GetContentType(), | 78 | m_vrm.GetContentType(), |
79 | "PenColour BLACK; MoveTo 40,220; FontSize 32; Text Hello World;", | 79 | "PenColour BLACK; MoveTo 40,220; FontSize 32; Text Hello World;", |
80 | "", | 80 | ""); |
81 | 0); | ||
82 | 81 | ||
83 | Assert.That(originalTextureID, Is.Not.EqualTo(so.RootPart.Shape.Textures.GetFace(0).TextureID)); | 82 | Assert.That(originalTextureID, Is.Not.EqualTo(so.RootPart.Shape.Textures.GetFace(0).TextureID)); |
84 | } | 83 | } |
@@ -98,8 +97,7 @@ namespace OpenSim.Region.CoreModules.Scripting.VectorRender.Tests | |||
98 | so.UUID, | 97 | so.UUID, |
99 | m_vrm.GetContentType(), | 98 | m_vrm.GetContentType(), |
100 | dtText, | 99 | dtText, |
101 | "", | 100 | ""); |
102 | 0); | ||
103 | 101 | ||
104 | UUID firstDynamicTextureID = so.RootPart.Shape.Textures.GetFace(0).TextureID; | 102 | UUID firstDynamicTextureID = so.RootPart.Shape.Textures.GetFace(0).TextureID; |
105 | 103 | ||
@@ -108,8 +106,7 @@ namespace OpenSim.Region.CoreModules.Scripting.VectorRender.Tests | |||
108 | so.UUID, | 106 | so.UUID, |
109 | m_vrm.GetContentType(), | 107 | m_vrm.GetContentType(), |
110 | dtText, | 108 | dtText, |
111 | "", | 109 | ""); |
112 | 0); | ||
113 | 110 | ||
114 | Assert.That(firstDynamicTextureID, Is.Not.EqualTo(so.RootPart.Shape.Textures.GetFace(0).TextureID)); | 111 | Assert.That(firstDynamicTextureID, Is.Not.EqualTo(so.RootPart.Shape.Textures.GetFace(0).TextureID)); |
115 | } | 112 | } |
@@ -129,8 +126,7 @@ namespace OpenSim.Region.CoreModules.Scripting.VectorRender.Tests | |||
129 | so.UUID, | 126 | so.UUID, |
130 | m_vrm.GetContentType(), | 127 | m_vrm.GetContentType(), |
131 | dtText, | 128 | dtText, |
132 | "", | 129 | ""); |
133 | 0); | ||
134 | 130 | ||
135 | UUID firstDynamicTextureID = so.RootPart.Shape.Textures.GetFace(0).TextureID; | 131 | UUID firstDynamicTextureID = so.RootPart.Shape.Textures.GetFace(0).TextureID; |
136 | 132 | ||
@@ -139,8 +135,7 @@ namespace OpenSim.Region.CoreModules.Scripting.VectorRender.Tests | |||
139 | so.UUID, | 135 | so.UUID, |
140 | m_vrm.GetContentType(), | 136 | m_vrm.GetContentType(), |
141 | dtText, | 137 | dtText, |
142 | "alpha:250", | 138 | "alpha:250"); |
143 | 0); | ||
144 | 139 | ||
145 | Assert.That(firstDynamicTextureID, Is.Not.EqualTo(so.RootPart.Shape.Textures.GetFace(0).TextureID)); | 140 | Assert.That(firstDynamicTextureID, Is.Not.EqualTo(so.RootPart.Shape.Textures.GetFace(0).TextureID)); |
146 | } | 141 | } |
@@ -161,8 +156,7 @@ namespace OpenSim.Region.CoreModules.Scripting.VectorRender.Tests | |||
161 | so.UUID, | 156 | so.UUID, |
162 | m_vrm.GetContentType(), | 157 | m_vrm.GetContentType(), |
163 | dtText, | 158 | dtText, |
164 | "", | 159 | ""); |
165 | 0); | ||
166 | 160 | ||
167 | UUID firstDynamicTextureID = so.RootPart.Shape.Textures.GetFace(0).TextureID; | 161 | UUID firstDynamicTextureID = so.RootPart.Shape.Textures.GetFace(0).TextureID; |
168 | 162 | ||
@@ -171,8 +165,7 @@ namespace OpenSim.Region.CoreModules.Scripting.VectorRender.Tests | |||
171 | so.UUID, | 165 | so.UUID, |
172 | m_vrm.GetContentType(), | 166 | m_vrm.GetContentType(), |
173 | dtText, | 167 | dtText, |
174 | "", | 168 | ""); |
175 | 0); | ||
176 | 169 | ||
177 | Assert.That(firstDynamicTextureID, Is.Not.EqualTo(so.RootPart.Shape.Textures.GetFace(0).TextureID)); | 170 | Assert.That(firstDynamicTextureID, Is.Not.EqualTo(so.RootPart.Shape.Textures.GetFace(0).TextureID)); |
178 | } | 171 | } |
@@ -191,8 +184,7 @@ namespace OpenSim.Region.CoreModules.Scripting.VectorRender.Tests | |||
191 | so.UUID, | 184 | so.UUID, |
192 | m_vrm.GetContentType(), | 185 | m_vrm.GetContentType(), |
193 | "PenColour BLACK; MoveTo 40,220; FontSize 32; Text Hello World;", | 186 | "PenColour BLACK; MoveTo 40,220; FontSize 32; Text Hello World;", |
194 | "", | 187 | ""); |
195 | 0); | ||
196 | 188 | ||
197 | Assert.That(originalTextureID, Is.Not.EqualTo(so.RootPart.Shape.Textures.GetFace(0).TextureID)); | 189 | Assert.That(originalTextureID, Is.Not.EqualTo(so.RootPart.Shape.Textures.GetFace(0).TextureID)); |
198 | } | 190 | } |
@@ -213,8 +205,7 @@ namespace OpenSim.Region.CoreModules.Scripting.VectorRender.Tests | |||
213 | so.UUID, | 205 | so.UUID, |
214 | m_vrm.GetContentType(), | 206 | m_vrm.GetContentType(), |
215 | dtText, | 207 | dtText, |
216 | "", | 208 | ""); |
217 | 0); | ||
218 | 209 | ||
219 | UUID firstDynamicTextureID = so.RootPart.Shape.Textures.GetFace(0).TextureID; | 210 | UUID firstDynamicTextureID = so.RootPart.Shape.Textures.GetFace(0).TextureID; |
220 | 211 | ||
@@ -223,8 +214,7 @@ namespace OpenSim.Region.CoreModules.Scripting.VectorRender.Tests | |||
223 | so.UUID, | 214 | so.UUID, |
224 | m_vrm.GetContentType(), | 215 | m_vrm.GetContentType(), |
225 | dtText, | 216 | dtText, |
226 | "", | 217 | ""); |
227 | 0); | ||
228 | 218 | ||
229 | Assert.That(firstDynamicTextureID, Is.EqualTo(so.RootPart.Shape.Textures.GetFace(0).TextureID)); | 219 | Assert.That(firstDynamicTextureID, Is.EqualTo(so.RootPart.Shape.Textures.GetFace(0).TextureID)); |
230 | } | 220 | } |
@@ -253,8 +243,7 @@ namespace OpenSim.Region.CoreModules.Scripting.VectorRender.Tests | |||
253 | so.UUID, | 243 | so.UUID, |
254 | m_vrm.GetContentType(), | 244 | m_vrm.GetContentType(), |
255 | dtText, | 245 | dtText, |
256 | "1024", | 246 | "1024"); |
257 | 0); | ||
258 | 247 | ||
259 | UUID firstDynamicTextureID = so.RootPart.Shape.Textures.GetFace(0).TextureID; | 248 | UUID firstDynamicTextureID = so.RootPart.Shape.Textures.GetFace(0).TextureID; |
260 | 249 | ||
@@ -263,8 +252,7 @@ namespace OpenSim.Region.CoreModules.Scripting.VectorRender.Tests | |||
263 | so.UUID, | 252 | so.UUID, |
264 | m_vrm.GetContentType(), | 253 | m_vrm.GetContentType(), |
265 | dtText, | 254 | dtText, |
266 | "1024", | 255 | "1024"); |
267 | 0); | ||
268 | 256 | ||
269 | Assert.That(firstDynamicTextureID, Is.Not.EqualTo(so.RootPart.Shape.Textures.GetFace(0).TextureID)); | 257 | Assert.That(firstDynamicTextureID, Is.Not.EqualTo(so.RootPart.Shape.Textures.GetFace(0).TextureID)); |
270 | } | 258 | } |
@@ -284,8 +272,7 @@ namespace OpenSim.Region.CoreModules.Scripting.VectorRender.Tests | |||
284 | so.UUID, | 272 | so.UUID, |
285 | m_vrm.GetContentType(), | 273 | m_vrm.GetContentType(), |
286 | dtText, | 274 | dtText, |
287 | "", | 275 | ""); |
288 | 0); | ||
289 | 276 | ||
290 | UUID firstDynamicTextureID = so.RootPart.Shape.Textures.GetFace(0).TextureID; | 277 | UUID firstDynamicTextureID = so.RootPart.Shape.Textures.GetFace(0).TextureID; |
291 | 278 | ||
@@ -294,8 +281,7 @@ namespace OpenSim.Region.CoreModules.Scripting.VectorRender.Tests | |||
294 | so.UUID, | 281 | so.UUID, |
295 | m_vrm.GetContentType(), | 282 | m_vrm.GetContentType(), |
296 | dtText, | 283 | dtText, |
297 | "alpha:250", | 284 | "alpha:250"); |
298 | 0); | ||
299 | 285 | ||
300 | Assert.That(firstDynamicTextureID, Is.Not.EqualTo(so.RootPart.Shape.Textures.GetFace(0).TextureID)); | 286 | Assert.That(firstDynamicTextureID, Is.Not.EqualTo(so.RootPart.Shape.Textures.GetFace(0).TextureID)); |
301 | } | 287 | } |
@@ -316,8 +302,7 @@ namespace OpenSim.Region.CoreModules.Scripting.VectorRender.Tests | |||
316 | so.UUID, | 302 | so.UUID, |
317 | m_vrm.GetContentType(), | 303 | m_vrm.GetContentType(), |
318 | dtText, | 304 | dtText, |
319 | "", | 305 | ""); |
320 | 0); | ||
321 | 306 | ||
322 | UUID firstDynamicTextureID = so.RootPart.Shape.Textures.GetFace(0).TextureID; | 307 | UUID firstDynamicTextureID = so.RootPart.Shape.Textures.GetFace(0).TextureID; |
323 | 308 | ||
@@ -326,8 +311,7 @@ namespace OpenSim.Region.CoreModules.Scripting.VectorRender.Tests | |||
326 | so.UUID, | 311 | so.UUID, |
327 | m_vrm.GetContentType(), | 312 | m_vrm.GetContentType(), |
328 | dtText, | 313 | dtText, |
329 | "", | 314 | ""); |
330 | 0); | ||
331 | 315 | ||
332 | Assert.That(firstDynamicTextureID, Is.Not.EqualTo(so.RootPart.Shape.Textures.GetFace(0).TextureID)); | 316 | Assert.That(firstDynamicTextureID, Is.Not.EqualTo(so.RootPart.Shape.Textures.GetFace(0).TextureID)); |
333 | } | 317 | } |
diff --git a/OpenSim/Region/Framework/Interfaces/IDynamicTextureManager.cs b/OpenSim/Region/Framework/Interfaces/IDynamicTextureManager.cs index 441076d..093ea9c 100644 --- a/OpenSim/Region/Framework/Interfaces/IDynamicTextureManager.cs +++ b/OpenSim/Region/Framework/Interfaces/IDynamicTextureManager.cs | |||
@@ -44,14 +44,13 @@ namespace OpenSim.Region.Framework.Interfaces | |||
44 | /// <param name='isReuseable'></param> | 44 | /// <param name='isReuseable'></param> |
45 | void ReturnData(UUID id, IDynamicTexture texture); | 45 | void ReturnData(UUID id, IDynamicTexture texture); |
46 | 46 | ||
47 | UUID AddDynamicTextureURL(UUID simID, UUID primID, string contentType, string url, string extraParams); | ||
47 | UUID AddDynamicTextureURL(UUID simID, UUID primID, string contentType, string url, string extraParams, | 48 | UUID AddDynamicTextureURL(UUID simID, UUID primID, string contentType, string url, string extraParams, |
48 | int updateTimer); | 49 | bool SetBlending, byte AlphaValue); |
49 | UUID AddDynamicTextureURL(UUID simID, UUID primID, string contentType, string url, string extraParams, | 50 | UUID AddDynamicTextureURL(UUID simID, UUID primID, string contentType, string url, string extraParams, |
50 | int updateTimer, bool SetBlending, byte AlphaValue); | 51 | bool SetBlending, int disp, byte AlphaValue, int face); |
51 | UUID AddDynamicTextureURL(UUID simID, UUID primID, string contentType, string url, string extraParams, | 52 | |
52 | int updateTimer, bool SetBlending, int disp, byte AlphaValue, int face); | 53 | UUID AddDynamicTextureData(UUID simID, UUID primID, string contentType, string data, string extraParams); |
53 | UUID AddDynamicTextureData(UUID simID, UUID primID, string contentType, string data, string extraParams, | ||
54 | int updateTimer); | ||
55 | 54 | ||
56 | /// Apply a dynamically generated texture to all sides of the given prim. The texture is not persisted to the | 55 | /// Apply a dynamically generated texture to all sides of the given prim. The texture is not persisted to the |
57 | /// asset service. | 56 | /// asset service. |
@@ -62,8 +61,6 @@ namespace OpenSim.Region.Framework.Interfaces | |||
62 | /// based texture or "image" to create a texture from an image at a particular URL</param> | 61 | /// based texture or "image" to create a texture from an image at a particular URL</param> |
63 | /// <param name="data">The data for the generator</param> | 62 | /// <param name="data">The data for the generator</param> |
64 | /// <param name="extraParams">Parameters for the generator that don't form part of the main data.</param> | 63 | /// <param name="extraParams">Parameters for the generator that don't form part of the main data.</param> |
65 | /// <param name="updateTimer">If zero, the image is never updated after the first generation. If positive | ||
66 | /// the image is updated at the given interval. Not implemented for </param> | ||
67 | /// <param name="SetBlending"> | 64 | /// <param name="SetBlending"> |
68 | /// If true, the newly generated texture is blended with the appropriate existing ones on the prim | 65 | /// If true, the newly generated texture is blended with the appropriate existing ones on the prim |
69 | /// </param> | 66 | /// </param> |
@@ -76,7 +73,7 @@ namespace OpenSim.Region.Framework.Interfaces | |||
76 | /// can be obtained as SceneObjectPart.Shape.Textures.DefaultTexture.TextureID | 73 | /// can be obtained as SceneObjectPart.Shape.Textures.DefaultTexture.TextureID |
77 | /// </returns> | 74 | /// </returns> |
78 | UUID AddDynamicTextureData(UUID simID, UUID primID, string contentType, string data, string extraParams, | 75 | UUID AddDynamicTextureData(UUID simID, UUID primID, string contentType, string data, string extraParams, |
79 | int updateTimer, bool SetBlending, byte AlphaValue); | 76 | bool SetBlending, byte AlphaValue); |
80 | 77 | ||
81 | /// <summary> | 78 | /// <summary> |
82 | /// Apply a dynamically generated texture to the given prim. | 79 | /// Apply a dynamically generated texture to the given prim. |
@@ -87,8 +84,6 @@ namespace OpenSim.Region.Framework.Interfaces | |||
87 | /// based texture or "image" to create a texture from an image at a particular URL</param> | 84 | /// based texture or "image" to create a texture from an image at a particular URL</param> |
88 | /// <param name="data">The data for the generator</param> | 85 | /// <param name="data">The data for the generator</param> |
89 | /// <param name="extraParams">Parameters for the generator that don't form part of the main data.</param> | 86 | /// <param name="extraParams">Parameters for the generator that don't form part of the main data.</param> |
90 | /// <param name="updateTimer">If zero, the image is never updated after the first generation. If positive | ||
91 | /// the image is updated at the given interval. Not implemented for </param> | ||
92 | /// <param name="SetBlending"> | 87 | /// <param name="SetBlending"> |
93 | /// If true, the newly generated texture is blended with the appropriate existing ones on the prim | 88 | /// If true, the newly generated texture is blended with the appropriate existing ones on the prim |
94 | /// </param> | 89 | /// </param> |
@@ -109,9 +104,8 @@ namespace OpenSim.Region.Framework.Interfaces | |||
109 | /// to obtain it directly from the SceneObjectPart. For instance, if ALL_SIDES is set then this texture | 104 | /// to obtain it directly from the SceneObjectPart. For instance, if ALL_SIDES is set then this texture |
110 | /// can be obtained as SceneObjectPart.Shape.Textures.DefaultTexture.TextureID | 105 | /// can be obtained as SceneObjectPart.Shape.Textures.DefaultTexture.TextureID |
111 | /// </returns> | 106 | /// </returns> |
112 | UUID AddDynamicTextureData( | 107 | UUID AddDynamicTextureData(UUID simID, UUID primID, string contentType, string data, string extraParams, |
113 | UUID simID, UUID primID, string contentType, string data, string extraParams, | 108 | bool SetBlending, int disp, byte AlphaValue, int face); |
114 | int updateTimer, bool SetBlending, int disp, byte AlphaValue, int face); | ||
115 | 109 | ||
116 | void GetDrawStringSize(string contentType, string text, string fontName, int fontSize, | 110 | void GetDrawStringSize(string contentType, string text, string fontName, int fontSize, |
117 | out double xSize, out double ySize); | 111 | out double xSize, out double ySize); |
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs index 7371fc5..3a0884f 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs | |||
@@ -678,7 +678,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
678 | IDynamicTextureManager textureManager = World.RequestModuleInterface<IDynamicTextureManager>(); | 678 | IDynamicTextureManager textureManager = World.RequestModuleInterface<IDynamicTextureManager>(); |
679 | UUID createdTexture = | 679 | UUID createdTexture = |
680 | textureManager.AddDynamicTextureURL(World.RegionInfo.RegionID, m_host.UUID, contentType, url, | 680 | textureManager.AddDynamicTextureURL(World.RegionInfo.RegionID, m_host.UUID, contentType, url, |
681 | extraParams, timer); | 681 | extraParams); |
682 | return createdTexture.ToString(); | 682 | return createdTexture.ToString(); |
683 | } | 683 | } |
684 | else | 684 | else |
@@ -700,7 +700,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
700 | IDynamicTextureManager textureManager = World.RequestModuleInterface<IDynamicTextureManager>(); | 700 | IDynamicTextureManager textureManager = World.RequestModuleInterface<IDynamicTextureManager>(); |
701 | UUID createdTexture = | 701 | UUID createdTexture = |
702 | textureManager.AddDynamicTextureURL(World.RegionInfo.RegionID, m_host.UUID, contentType, url, | 702 | textureManager.AddDynamicTextureURL(World.RegionInfo.RegionID, m_host.UUID, contentType, url, |
703 | extraParams, timer, true, (byte) alpha); | 703 | extraParams, true, (byte) alpha); |
704 | return createdTexture.ToString(); | 704 | return createdTexture.ToString(); |
705 | } | 705 | } |
706 | else | 706 | else |
@@ -722,7 +722,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
722 | IDynamicTextureManager textureManager = World.RequestModuleInterface<IDynamicTextureManager>(); | 722 | IDynamicTextureManager textureManager = World.RequestModuleInterface<IDynamicTextureManager>(); |
723 | UUID createdTexture = | 723 | UUID createdTexture = |
724 | textureManager.AddDynamicTextureURL(World.RegionInfo.RegionID, m_host.UUID, contentType, url, | 724 | textureManager.AddDynamicTextureURL(World.RegionInfo.RegionID, m_host.UUID, contentType, url, |
725 | extraParams, timer, blend, disp, (byte) alpha, face); | 725 | extraParams, blend, disp, (byte) alpha, face); |
726 | return createdTexture.ToString(); | 726 | return createdTexture.ToString(); |
727 | } | 727 | } |
728 | else | 728 | else |
@@ -756,7 +756,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
756 | } | 756 | } |
757 | UUID createdTexture = | 757 | UUID createdTexture = |
758 | textureManager.AddDynamicTextureData(World.RegionInfo.RegionID, m_host.UUID, contentType, data, | 758 | textureManager.AddDynamicTextureData(World.RegionInfo.RegionID, m_host.UUID, contentType, data, |
759 | extraParams, timer, false, 3, 255, face); | 759 | extraParams, false, 3, 255, face); |
760 | 760 | ||
761 | return createdTexture.ToString(); | 761 | return createdTexture.ToString(); |
762 | } | 762 | } |
@@ -786,7 +786,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
786 | } | 786 | } |
787 | UUID createdTexture = | 787 | UUID createdTexture = |
788 | textureManager.AddDynamicTextureData(World.RegionInfo.RegionID, m_host.UUID, contentType, data, | 788 | textureManager.AddDynamicTextureData(World.RegionInfo.RegionID, m_host.UUID, contentType, data, |
789 | extraParams, timer, true, (byte) alpha); | 789 | extraParams, true, (byte) alpha); |
790 | return createdTexture.ToString(); | 790 | return createdTexture.ToString(); |
791 | } | 791 | } |
792 | } | 792 | } |
@@ -801,7 +801,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
801 | public string osSetDynamicTextureDataBlendFace(string dynamicID, string contentType, string data, string extraParams, | 801 | public string osSetDynamicTextureDataBlendFace(string dynamicID, string contentType, string data, string extraParams, |
802 | bool blend, int disp, int timer, int alpha, int face) | 802 | bool blend, int disp, int timer, int alpha, int face) |
803 | { | 803 | { |
804 | CheckThreatLevel(ThreatLevel.VeryHigh , "osSetDynamicTextureDataBlendFace"); | 804 | CheckThreatLevel(ThreatLevel.VeryLow , "osSetDynamicTextureDataBlendFace"); |
805 | 805 | ||
806 | m_host.AddScriptLPS(1); | 806 | m_host.AddScriptLPS(1); |
807 | if (dynamicID == String.Empty) | 807 | if (dynamicID == String.Empty) |
@@ -815,7 +815,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
815 | } | 815 | } |
816 | UUID createdTexture = | 816 | UUID createdTexture = |
817 | textureManager.AddDynamicTextureData(World.RegionInfo.RegionID, m_host.UUID, contentType, data, | 817 | textureManager.AddDynamicTextureData(World.RegionInfo.RegionID, m_host.UUID, contentType, data, |
818 | extraParams, timer, blend, disp, (byte) alpha, face); | 818 | extraParams, blend, disp, (byte) alpha, face); |
819 | return createdTexture.ToString(); | 819 | return createdTexture.ToString(); |
820 | } | 820 | } |
821 | } | 821 | } |
diff --git a/OpenSim/Tests/Stress/VectorRenderModuleStressTests.cs b/OpenSim/Tests/Stress/VectorRenderModuleStressTests.cs index 5e6a638..e9767f3 100644 --- a/OpenSim/Tests/Stress/VectorRenderModuleStressTests.cs +++ b/OpenSim/Tests/Stress/VectorRenderModuleStressTests.cs | |||
@@ -118,8 +118,7 @@ namespace OpenSim.Tests.Stress | |||
118 | so.UUID, | 118 | so.UUID, |
119 | m_tests.Vrm.GetContentType(), | 119 | m_tests.Vrm.GetContentType(), |
120 | string.Format("PenColour BLACK; MoveTo 40,220; FontSize 32; Text {0};", text), | 120 | string.Format("PenColour BLACK; MoveTo 40,220; FontSize 32; Text {0};", text), |
121 | "", | 121 | ""); |
122 | 0); | ||
123 | 122 | ||
124 | Assert.That(originalTextureID, Is.Not.EqualTo(so.RootPart.Shape.Textures.GetFace(0).TextureID)); | 123 | Assert.That(originalTextureID, Is.Not.EqualTo(so.RootPart.Shape.Textures.GetFace(0).TextureID)); |
125 | 124 | ||
diff --git a/bin/config-include/osslEnable.ini b/bin/config-include/osslEnable.ini index 3538458..f9bfe03 100644 --- a/bin/config-include/osslEnable.ini +++ b/bin/config-include/osslEnable.ini | |||
@@ -121,6 +121,7 @@ | |||
121 | Allow_osReplaceString = true | 121 | Allow_osReplaceString = true |
122 | Allow_osSetDynamicTextureData = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER | 122 | Allow_osSetDynamicTextureData = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER |
123 | Allow_osSetDynamicTextureDataBlend = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER | 123 | Allow_osSetDynamicTextureDataBlend = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER |
124 | Allow_osSetDynamicTextureDataBlendFace = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER | ||
124 | Allow_osSetDynamicTextureURL = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER | 125 | Allow_osSetDynamicTextureURL = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER |
125 | Allow_osSetDynamicTextureURLBlend = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER | 126 | Allow_osSetDynamicTextureURLBlend = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER |
126 | Allow_osSetDynamicTextureURLBlendFace = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER | 127 | Allow_osSetDynamicTextureURLBlendFace = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER |
@@ -227,7 +228,6 @@ | |||
227 | Allow_osGetNotecardLine = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER | 228 | Allow_osGetNotecardLine = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER |
228 | Allow_osGetNumberOfNotecardLines = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER | 229 | Allow_osGetNumberOfNotecardLines = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER |
229 | Allow_osRegionNotice = ESTATE_MANAGER,ESTATE_OWNER | 230 | Allow_osRegionNotice = ESTATE_MANAGER,ESTATE_OWNER |
230 | Allow_osSetDynamicTextureDataBlendFace = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER | ||
231 | Allow_osSetRot = false | 231 | Allow_osSetRot = false |
232 | Allow_osSetParcelDetails = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER | 232 | Allow_osSetParcelDetails = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER |
233 | 233 | ||