diff options
Diffstat (limited to '')
-rw-r--r-- | OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs | 21 |
1 files changed, 18 insertions, 3 deletions
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs index 4b2fb51..04762be 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs | |||
@@ -1912,15 +1912,30 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
1912 | { | 1912 | { |
1913 | face = 0; | 1913 | face = 0; |
1914 | } | 1914 | } |
1915 | |||
1915 | if (face >= 0 && face < GetNumberOfSides(part)) | 1916 | if (face >= 0 && face < GetNumberOfSides(part)) |
1916 | { | 1917 | { |
1917 | Primitive.TextureEntryFace texface; | 1918 | Primitive.TextureEntryFace texface; |
1918 | texface = tex.GetFace((uint)face); | 1919 | texface = tex.GetFace((uint)face); |
1919 | return texface.TextureID.ToString(); | 1920 | string texture = texface.TextureID.ToString(); |
1921 | |||
1922 | lock (part.TaskInventory) | ||
1923 | { | ||
1924 | foreach (KeyValuePair<UUID, TaskInventoryItem> inv in part.TaskInventory) | ||
1925 | { | ||
1926 | if (inv.Value.AssetID == texface.TextureID) | ||
1927 | { | ||
1928 | texture = inv.Value.Name.ToString(); | ||
1929 | break; | ||
1930 | } | ||
1931 | } | ||
1932 | } | ||
1933 | |||
1934 | return texture; | ||
1920 | } | 1935 | } |
1921 | else | 1936 | else |
1922 | { | 1937 | { |
1923 | return String.Empty; | 1938 | return UUID.Zero.ToString(); |
1924 | } | 1939 | } |
1925 | } | 1940 | } |
1926 | 1941 | ||
@@ -4224,8 +4239,8 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
4224 | 4239 | ||
4225 | public void llCollisionSound(string impact_sound, double impact_volume) | 4240 | public void llCollisionSound(string impact_sound, double impact_volume) |
4226 | { | 4241 | { |
4227 | |||
4228 | m_host.AddScriptLPS(1); | 4242 | m_host.AddScriptLPS(1); |
4243 | |||
4229 | // TODO: Parameter check logic required. | 4244 | // TODO: Parameter check logic required. |
4230 | UUID soundId = UUID.Zero; | 4245 | UUID soundId = UUID.Zero; |
4231 | if (!UUID.TryParse(impact_sound, out soundId)) | 4246 | if (!UUID.TryParse(impact_sound, out soundId)) |