diff options
author | Talun | 2014-03-21 11:31:44 +0000 |
---|---|---|
committer | Justin Clark-Casey (justincc) | 2014-03-21 23:13:34 +0000 |
commit | fb312279c98fb832652345942c31796228f25ac5 (patch) | |
tree | 4f2e4946b7337004c08ff734dde6164c8efe04e4 | |
parent | Add monitored thread last update times as stats in "show stats all" (diff) | |
download | opensim-SC_OLD-fb312279c98fb832652345942c31796228f25ac5.zip opensim-SC_OLD-fb312279c98fb832652345942c31796228f25ac5.tar.gz opensim-SC_OLD-fb312279c98fb832652345942c31796228f25ac5.tar.bz2 opensim-SC_OLD-fb312279c98fb832652345942c31796228f25ac5.tar.xz |
Mantis 6922: No particles are generated if their size exceeds the maximum allowed size.
This patch ensures that no particle scal value can exceed 4.0
-rw-r--r-- | OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs index 09c295a..4278002 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs | |||
@@ -6409,14 +6409,14 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
6409 | 6409 | ||
6410 | case (int)ScriptBaseClass.PSYS_PART_START_SCALE: | 6410 | case (int)ScriptBaseClass.PSYS_PART_START_SCALE: |
6411 | tempv = rules.GetVector3Item(i + 1); | 6411 | tempv = rules.GetVector3Item(i + 1); |
6412 | prules.PartStartScaleX = (float)tempv.x; | 6412 | prules.PartStartScaleX = validParticleScale((float)tempv.x); |
6413 | prules.PartStartScaleY = (float)tempv.y; | 6413 | prules.PartStartScaleY = validParticleScale((float)tempv.y); |
6414 | break; | 6414 | break; |
6415 | 6415 | ||
6416 | case (int)ScriptBaseClass.PSYS_PART_END_SCALE: | 6416 | case (int)ScriptBaseClass.PSYS_PART_END_SCALE: |
6417 | tempv = rules.GetVector3Item(i + 1); | 6417 | tempv = rules.GetVector3Item(i + 1); |
6418 | prules.PartEndScaleX = (float)tempv.x; | 6418 | prules.PartEndScaleX = validParticleScale((float)tempv.x); |
6419 | prules.PartEndScaleY = (float)tempv.y; | 6419 | prules.PartEndScaleY = validParticleScale((float)tempv.y); |
6420 | break; | 6420 | break; |
6421 | 6421 | ||
6422 | case (int)ScriptBaseClass.PSYS_PART_MAX_AGE: | 6422 | case (int)ScriptBaseClass.PSYS_PART_MAX_AGE: |
@@ -6547,6 +6547,12 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
6547 | part.SendFullUpdateToAllClients(); | 6547 | part.SendFullUpdateToAllClients(); |
6548 | } | 6548 | } |
6549 | 6549 | ||
6550 | private float validParticleScale(float value) | ||
6551 | { | ||
6552 | if (value > 4.0f) return 4.0f; | ||
6553 | return value; | ||
6554 | } | ||
6555 | |||
6550 | public void llGroundRepel(double height, int water, double tau) | 6556 | public void llGroundRepel(double height, int water, double tau) |
6551 | { | 6557 | { |
6552 | m_host.AddScriptLPS(1); | 6558 | m_host.AddScriptLPS(1); |