diff options
author | Dr Scofield | 2009-05-22 16:22:49 +0000 |
---|---|---|
committer | Dr Scofield | 2009-05-22 16:22:49 +0000 |
commit | 3b689e506f82ea45fcf703b22eb50a00e40baa4f (patch) | |
tree | 4c99a98342400d3f9f49670e3f6754554d3c8235 /OpenSim/Region/ScriptEngine | |
parent | From: Alan Webb <alan_webb@us.ibm.com> (diff) | |
download | opensim-SC-3b689e506f82ea45fcf703b22eb50a00e40baa4f.zip opensim-SC-3b689e506f82ea45fcf703b22eb50a00e40baa4f.tar.gz opensim-SC-3b689e506f82ea45fcf703b22eb50a00e40baa4f.tar.bz2 opensim-SC-3b689e506f82ea45fcf703b22eb50a00e40baa4f.tar.xz |
From: Alan Webb <alan_webb@us.ibm.com>
Changes to support client-side image pre-caching in the region. This
commit adds an additional calling sequence to the DynamicTexture data
and URL calls. The new interface allows a dynamic image to be loaded
into a specific object face (rather than the mandatory ALL_SIDES
supported today.
This is in part fulfilment of ticket #458.
Diffstat (limited to 'OpenSim/Region/ScriptEngine')
3 files changed, 69 insertions, 0 deletions
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs index fbae9c8..91ee1b3 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs | |||
@@ -427,6 +427,28 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
427 | return UUID.Zero.ToString(); | 427 | return UUID.Zero.ToString(); |
428 | } | 428 | } |
429 | 429 | ||
430 | public string osSetDynamicTextureURLBlendFace(string dynamicID, string contentType, string url, string extraParams, | ||
431 | bool blend, int timer, int alpha, int face) | ||
432 | { | ||
433 | CheckThreatLevel(ThreatLevel.VeryLow, "osSetDynamicTextureURLBlendFace"); | ||
434 | |||
435 | m_host.AddScriptLPS(1); | ||
436 | if (dynamicID == String.Empty) | ||
437 | { | ||
438 | IDynamicTextureManager textureManager = World.RequestModuleInterface<IDynamicTextureManager>(); | ||
439 | UUID createdTexture = | ||
440 | textureManager.AddDynamicTextureURL(World.RegionInfo.RegionID, m_host.UUID, contentType, url, | ||
441 | extraParams, timer, blend, (byte) alpha, face); | ||
442 | return createdTexture.ToString(); | ||
443 | } | ||
444 | else | ||
445 | { | ||
446 | //TODO update existing dynamic textures | ||
447 | } | ||
448 | |||
449 | return UUID.Zero.ToString(); | ||
450 | } | ||
451 | |||
430 | public string osSetDynamicTextureData(string dynamicID, string contentType, string data, string extraParams, | 452 | public string osSetDynamicTextureData(string dynamicID, string contentType, string data, string extraParams, |
431 | int timer) | 453 | int timer) |
432 | { | 454 | { |
@@ -485,6 +507,35 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
485 | return UUID.Zero.ToString(); | 507 | return UUID.Zero.ToString(); |
486 | } | 508 | } |
487 | 509 | ||
510 | public string osSetDynamicTextureDataBlendFace(string dynamicID, string contentType, string data, string extraParams, | ||
511 | bool blend, int timer, int alpha, int face) | ||
512 | { | ||
513 | CheckThreatLevel(ThreatLevel.VeryLow, "osSetDynamicTextureDataBlendFace"); | ||
514 | |||
515 | m_host.AddScriptLPS(1); | ||
516 | if (dynamicID == String.Empty) | ||
517 | { | ||
518 | IDynamicTextureManager textureManager = World.RequestModuleInterface<IDynamicTextureManager>(); | ||
519 | if (textureManager != null) | ||
520 | { | ||
521 | if (extraParams == String.Empty) | ||
522 | { | ||
523 | extraParams = "256"; | ||
524 | } | ||
525 | UUID createdTexture = | ||
526 | textureManager.AddDynamicTextureData(World.RegionInfo.RegionID, m_host.UUID, contentType, data, | ||
527 | extraParams, timer, blend, (byte) alpha, face); | ||
528 | return createdTexture.ToString(); | ||
529 | } | ||
530 | } | ||
531 | else | ||
532 | { | ||
533 | //TODO update existing dynamic textures | ||
534 | } | ||
535 | |||
536 | return UUID.Zero.ToString(); | ||
537 | } | ||
538 | |||
488 | public bool osConsoleCommand(string command) | 539 | public bool osConsoleCommand(string command) |
489 | { | 540 | { |
490 | CheckThreatLevel(ThreatLevel.Severe, "osConsoleCommand"); | 541 | CheckThreatLevel(ThreatLevel.Severe, "osConsoleCommand"); |
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Interface/IOSSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Interface/IOSSL_Api.cs index 7c0f086..3360abe 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Interface/IOSSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Interface/IOSSL_Api.cs | |||
@@ -58,9 +58,13 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api.Interfaces | |||
58 | string osSetDynamicTextureURL(string dynamicID, string contentType, string url, string extraParams, int timer); | 58 | string osSetDynamicTextureURL(string dynamicID, string contentType, string url, string extraParams, int timer); |
59 | string osSetDynamicTextureURLBlend(string dynamicID, string contentType, string url, string extraParams, | 59 | string osSetDynamicTextureURLBlend(string dynamicID, string contentType, string url, string extraParams, |
60 | int timer, int alpha); | 60 | int timer, int alpha); |
61 | string osSetDynamicTextureURLBlendFace(string dynamicID, string contentType, string url, string extraParams, | ||
62 | bool blend, int timer, int alpha, int face); | ||
61 | string osSetDynamicTextureData(string dynamicID, string contentType, string data, string extraParams, int timer); | 63 | string osSetDynamicTextureData(string dynamicID, string contentType, string data, string extraParams, int timer); |
62 | string osSetDynamicTextureDataBlend(string dynamicID, string contentType, string data, string extraParams, | 64 | string osSetDynamicTextureDataBlend(string dynamicID, string contentType, string data, string extraParams, |
63 | int timer, int alpha); | 65 | int timer, int alpha); |
66 | string osSetDynamicTextureDataBlendFace(string dynamicID, string contentType, string data, string extraParams, | ||
67 | bool blend, int timer, int alpha, int face); | ||
64 | 68 | ||
65 | LSL_Float osTerrainGetHeight(int x, int y); | 69 | LSL_Float osTerrainGetHeight(int x, int y); |
66 | LSL_Integer osTerrainSetHeight(int x, int y, double val); | 70 | LSL_Integer osTerrainSetHeight(int x, int y, double val); |
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/OSSL_Stub.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/OSSL_Stub.cs index a66ed30..9d8920f 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/OSSL_Stub.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/OSSL_Stub.cs | |||
@@ -134,6 +134,20 @@ namespace OpenSim.Region.ScriptEngine.Shared.ScriptBase | |||
134 | return m_OSSL_Functions.osSetDynamicTextureDataBlend(dynamicID, contentType, data, extraParams, timer, alpha); | 134 | return m_OSSL_Functions.osSetDynamicTextureDataBlend(dynamicID, contentType, data, extraParams, timer, alpha); |
135 | } | 135 | } |
136 | 136 | ||
137 | public string osSetDynamicTextureURLBlendFace(string dynamicID, string contentType, string url, string extraParams, | ||
138 | bool blend, int timer, int alpha, int face) | ||
139 | { | ||
140 | return m_OSSL_Functions.osSetDynamicTextureURLBlendFace(dynamicID, contentType, url, extraParams, | ||
141 | blend, timer, alpha, face); | ||
142 | } | ||
143 | |||
144 | public string osSetDynamicTextureDataBlendFace(string dynamicID, string contentType, string data, string extraParams, | ||
145 | bool blend, int timer, int alpha, int face) | ||
146 | { | ||
147 | return m_OSSL_Functions.osSetDynamicTextureDataBlendFace(dynamicID, contentType, data, extraParams, | ||
148 | blend, timer, alpha, face); | ||
149 | } | ||
150 | |||
137 | public LSL_Float osTerrainGetHeight(int x, int y) | 151 | public LSL_Float osTerrainGetHeight(int x, int y) |
138 | { | 152 | { |
139 | return m_OSSL_Functions.osTerrainGetHeight(x, y); | 153 | return m_OSSL_Functions.osTerrainGetHeight(x, y); |