diff options
author | Justin Clark-Casey (justincc) | 2010-07-15 00:15:23 +0100 |
---|---|---|
committer | Justin Clark-Casey (justincc) | 2010-07-15 00:15:23 +0100 |
commit | e74e591e0b2196bcf58e17f604e2d8d4819c3917 (patch) | |
tree | 0da7712d33b4a3e03d27126965bd5c4275be764b | |
parent | fix bug where prim persistence would fail if media had never been set (diff) | |
download | opensim-SC-e74e591e0b2196bcf58e17f604e2d8d4819c3917.zip opensim-SC-e74e591e0b2196bcf58e17f604e2d8d4819c3917.tar.gz opensim-SC-e74e591e0b2196bcf58e17f604e2d8d4819c3917.tar.bz2 opensim-SC-e74e591e0b2196bcf58e17f604e2d8d4819c3917.tar.xz |
properly expose prim media LSL functions to scripts
scripts using these functions should now compile but I don't know how well the methods themselves work yet
llSetPrimMedia(), at least, appears to have problems when a current url is set for a face that doesn't yet have a texture
3 files changed, 19 insertions, 1 deletions
diff --git a/OpenSim/Region/CoreModules/World/Media/Moap/MoapModule.cs b/OpenSim/Region/CoreModules/World/Media/Moap/MoapModule.cs index 3c546c4..4bbac6e 100644 --- a/OpenSim/Region/CoreModules/World/Media/Moap/MoapModule.cs +++ b/OpenSim/Region/CoreModules/World/Media/Moap/MoapModule.cs | |||
@@ -186,7 +186,7 @@ namespace OpenSim.Region.CoreModules.Media.Moap | |||
186 | CheckFaceParam(part, face); | 186 | CheckFaceParam(part, face); |
187 | 187 | ||
188 | if (null == part.Shape.Media) | 188 | if (null == part.Shape.Media) |
189 | part.Shape.Media = new List<MediaEntry>(part.GetNumberOfSides()); | 189 | part.Shape.Media = new List<MediaEntry>(new MediaEntry[part.GetNumberOfSides()]); |
190 | 190 | ||
191 | part.Shape.Media[face] = me; | 191 | part.Shape.Media[face] = me; |
192 | UpdateMediaUrl(part); | 192 | UpdateMediaUrl(part); |
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Interface/ILSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Interface/ILSL_Api.cs index cba46a3..561e3b3 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Interface/ILSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Interface/ILSL_Api.cs | |||
@@ -62,6 +62,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api.Interfaces | |||
62 | void llBreakLink(int linknum); | 62 | void llBreakLink(int linknum); |
63 | LSL_Integer llCeil(double f); | 63 | LSL_Integer llCeil(double f); |
64 | void llClearCameraParams(); | 64 | void llClearCameraParams(); |
65 | LSL_Integer llClearPrimMedia(LSL_Integer face); | ||
65 | void llCloseRemoteDataChannel(string channel); | 66 | void llCloseRemoteDataChannel(string channel); |
66 | LSL_Float llCloud(LSL_Vector offset); | 67 | LSL_Float llCloud(LSL_Vector offset); |
67 | void llCollisionFilter(string name, string id, int accept); | 68 | void llCollisionFilter(string name, string id, int accept); |
@@ -162,6 +163,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api.Interfaces | |||
162 | LSL_List llGetParcelPrimOwners(LSL_Vector pos); | 163 | LSL_List llGetParcelPrimOwners(LSL_Vector pos); |
163 | LSL_Integer llGetPermissions(); | 164 | LSL_Integer llGetPermissions(); |
164 | LSL_Key llGetPermissionsKey(); | 165 | LSL_Key llGetPermissionsKey(); |
166 | LSL_List llGetPrimMediaParams(int face, LSL_List rules); | ||
165 | LSL_Vector llGetPos(); | 167 | LSL_Vector llGetPos(); |
166 | LSL_List llGetPrimitiveParams(LSL_List rules); | 168 | LSL_List llGetPrimitiveParams(LSL_List rules); |
167 | LSL_Integer llGetRegionAgentCount(); | 169 | LSL_Integer llGetRegionAgentCount(); |
@@ -332,6 +334,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api.Interfaces | |||
332 | void llSetParcelMusicURL(string url); | 334 | void llSetParcelMusicURL(string url); |
333 | void llSetPayPrice(int price, LSL_List quick_pay_buttons); | 335 | void llSetPayPrice(int price, LSL_List quick_pay_buttons); |
334 | void llSetPos(LSL_Vector pos); | 336 | void llSetPos(LSL_Vector pos); |
337 | LSL_Integer llSetPrimMediaParams(int face, LSL_List rules); | ||
335 | void llSetPrimitiveParams(LSL_List rules); | 338 | void llSetPrimitiveParams(LSL_List rules); |
336 | void llSetLinkPrimitiveParamsFast(int linknum, LSL_List rules); | 339 | void llSetLinkPrimitiveParamsFast(int linknum, LSL_List rules); |
337 | void llSetPrimURL(string url); | 340 | void llSetPrimURL(string url); |
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/LSL_Stub.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/LSL_Stub.cs index 3339995..451163f 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/LSL_Stub.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/LSL_Stub.cs | |||
@@ -1832,5 +1832,20 @@ namespace OpenSim.Region.ScriptEngine.Shared.ScriptBase | |||
1832 | { | 1832 | { |
1833 | return m_LSL_Functions.llXorBase64StringsCorrect(str1, str2); | 1833 | return m_LSL_Functions.llXorBase64StringsCorrect(str1, str2); |
1834 | } | 1834 | } |
1835 | |||
1836 | public LSL_List llGetPrimMediaParams(int face, LSL_List rules) | ||
1837 | { | ||
1838 | return m_LSL_Functions.llGetPrimMediaParams(face, rules); | ||
1839 | } | ||
1840 | |||
1841 | public LSL_Integer llSetPrimMediaParams(int face, LSL_List rules) | ||
1842 | { | ||
1843 | return m_LSL_Functions.llSetPrimMediaParams(face, rules); | ||
1844 | } | ||
1845 | |||
1846 | public LSL_Integer llClearPrimMedia(LSL_Integer face) | ||
1847 | { | ||
1848 | return m_LSL_Functions.llClearPrimMedia(face); | ||
1849 | } | ||
1835 | } | 1850 | } |
1836 | } | 1851 | } |