diff options
Diffstat (limited to 'OpenSim/Region/ScriptEngine')
-rw-r--r-- | OpenSim/Region/ScriptEngine/Common/LSL_BuiltIn_Commands.cs | 22 |
1 files changed, 17 insertions, 5 deletions
diff --git a/OpenSim/Region/ScriptEngine/Common/LSL_BuiltIn_Commands.cs b/OpenSim/Region/ScriptEngine/Common/LSL_BuiltIn_Commands.cs index 481f890..e8e4f80 100644 --- a/OpenSim/Region/ScriptEngine/Common/LSL_BuiltIn_Commands.cs +++ b/OpenSim/Region/ScriptEngine/Common/LSL_BuiltIn_Commands.cs | |||
@@ -3994,9 +3994,6 @@ namespace OpenSim.Region.ScriptEngine.Common | |||
3994 | return returnval; | 3994 | return returnval; |
3995 | } | 3995 | } |
3996 | 3996 | ||
3997 | // AL: This does not actually do anything yet. There are issues within Libsecondlife revolving around PSYS_PART_FLAGS | ||
3998 | // (need to OR the values, but currently stores this within an enum) as well as discovery of how the CRC works and the | ||
3999 | // actual packet. | ||
4000 | 3997 | ||
4001 | public void llParticleSystem(LSL_Types.list rules) | 3998 | public void llParticleSystem(LSL_Types.list rules) |
4002 | { | 3999 | { |
@@ -4069,9 +4066,24 @@ namespace OpenSim.Region.ScriptEngine.Common | |||
4069 | prules.Pattern = (Primitive.ParticleSystem.SourcePattern)tmpi; | 4066 | prules.Pattern = (Primitive.ParticleSystem.SourcePattern)tmpi; |
4070 | break; | 4067 | break; |
4071 | 4068 | ||
4069 | // Xantor 03-May-2008 | ||
4070 | // Wiki: PSYS_SRC_TEXTURE string inventory item name or key of the particle texture | ||
4071 | // "" = default texture. | ||
4072 | case (int)BuiltIn_Commands_BaseClass.PSYS_SRC_TEXTURE: | 4072 | case (int)BuiltIn_Commands_BaseClass.PSYS_SRC_TEXTURE: |
4073 | prules.Texture = new LLUUID(rules.Data[i + 1].ToString()); | 4073 | LLUUID tkey = LLUUID.Zero; |
4074 | break; | 4074 | |
4075 | // if we can parse the string as a key, use it. | ||
4076 | if (LLUUID.TryParse(rules.Data[i + 1].ToString(), out tkey)) | ||
4077 | { | ||
4078 | prules.Texture = tkey; | ||
4079 | } | ||
4080 | // else try to locate the name in inventory of object. found returns key, | ||
4081 | // not found returns LLUUID.Zero which will translate to the default particle texture | ||
4082 | else | ||
4083 | { | ||
4084 | prules.Texture = InventoryKey(rules.Data[i+1].ToString()); | ||
4085 | } | ||
4086 | break; | ||
4075 | 4087 | ||
4076 | case (int)BuiltIn_Commands_BaseClass.PSYS_SRC_BURST_RATE: | 4088 | case (int)BuiltIn_Commands_BaseClass.PSYS_SRC_BURST_RATE: |
4077 | tempf = Convert.ToSingle(rules.Data[i + 1].ToString()); | 4089 | tempf = Convert.ToSingle(rules.Data[i + 1].ToString()); |