diff options
author | Melanie Thielker | 2008-09-08 02:40:20 +0000 |
---|---|---|
committer | Melanie Thielker | 2008-09-08 02:40:20 +0000 |
commit | 490ac0be005a989c86ebde62aad137fd2da7cbd8 (patch) | |
tree | 0bd15a47dea6d2dea470d50779603970a0493fd9 /OpenSim/Region/ScriptEngine/Shared/Api | |
parent | Implement llEjectFromLand. (diff) | |
download | opensim-SC-490ac0be005a989c86ebde62aad137fd2da7cbd8.zip opensim-SC-490ac0be005a989c86ebde62aad137fd2da7cbd8.tar.gz opensim-SC-490ac0be005a989c86ebde62aad137fd2da7cbd8.tar.bz2 opensim-SC-490ac0be005a989c86ebde62aad137fd2da7cbd8.tar.xz |
Implement proper persistence of the following prim properties:
Floating text, Rotation, Texture animation, Particle System
This will make "Eye Candy" scripts work without modification in
XEngine. The use of the CHANGED_REGION_RESTART hack is no longer
needed. Implemented in MySQL only, hovertext also in SQLite.
Diffstat (limited to 'OpenSim/Region/ScriptEngine/Shared/Api')
-rw-r--r-- | OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs | 17 | ||||
-rw-r--r-- | OpenSim/Region/ScriptEngine/Shared/Api/Runtime/LSL_Constants.cs | 2 |
2 files changed, 13 insertions, 6 deletions
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs index 20dc46e..38d9728 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs | |||
@@ -2173,7 +2173,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
2173 | m_ScriptEngine.PostScriptEvent(m_itemID, new EventParams( | 2173 | m_ScriptEngine.PostScriptEvent(m_itemID, new EventParams( |
2174 | "object_rez", new Object[] { | 2174 | "object_rez", new Object[] { |
2175 | new LSL_Types.LSLString( | 2175 | new LSL_Types.LSLString( |
2176 | new_group.RootPart.ToString()) }, | 2176 | new_group.RootPart.UUID.ToString()) }, |
2177 | new DetectParams[0])); | 2177 | new DetectParams[0])); |
2178 | 2178 | ||
2179 | float groupmass = new_group.GetMass(); | 2179 | float groupmass = new_group.GetMass(); |
@@ -2542,6 +2542,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
2542 | m_host.AngularVelocity = new Vector3((float)(axis.x * spinrate), (float)(axis.y * spinrate), (float)(axis.z * spinrate)); | 2542 | m_host.AngularVelocity = new Vector3((float)(axis.x * spinrate), (float)(axis.y * spinrate), (float)(axis.z * spinrate)); |
2543 | m_host.ScheduleTerseUpdate(); | 2543 | m_host.ScheduleTerseUpdate(); |
2544 | m_host.SendTerseUpdateToAllClients(); | 2544 | m_host.SendTerseUpdateToAllClients(); |
2545 | m_host.ParentGroup.HasGroupChanged = true; | ||
2545 | } | 2546 | } |
2546 | 2547 | ||
2547 | public LSL_Types.LSLInteger llGetStartParameter() | 2548 | public LSL_Types.LSLInteger llGetStartParameter() |
@@ -3009,6 +3010,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
3009 | m_host.AddScriptLPS(1); | 3010 | m_host.AddScriptLPS(1); |
3010 | Vector3 av3 = new Vector3((float)color.x, (float)color.y, (float)color.z); | 3011 | Vector3 av3 = new Vector3((float)color.x, (float)color.y, (float)color.z); |
3011 | m_host.SetText(text, av3, alpha); | 3012 | m_host.SetText(text, av3, alpha); |
3013 | m_host.ParentGroup.HasGroupChanged = true; | ||
3012 | } | 3014 | } |
3013 | 3015 | ||
3014 | public double llWater(LSL_Types.Vector3 offset) | 3016 | public double llWater(LSL_Types.Vector3 offset) |
@@ -4396,6 +4398,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
4396 | 4398 | ||
4397 | m_host.AddTextureAnimation(pTexAnim); | 4399 | m_host.AddTextureAnimation(pTexAnim); |
4398 | m_host.SendFullUpdateToAllClients(); | 4400 | m_host.SendFullUpdateToAllClients(); |
4401 | m_host.ParentGroup.HasGroupChanged = true; | ||
4399 | } | 4402 | } |
4400 | 4403 | ||
4401 | public void llTriggerSoundLimited(string sound, double volume, LSL_Types.Vector3 top_north_east, | 4404 | public void llTriggerSoundLimited(string sound, double volume, LSL_Types.Vector3 top_north_east, |
@@ -4713,6 +4716,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
4713 | if (rules.Length == 0) | 4716 | if (rules.Length == 0) |
4714 | { | 4717 | { |
4715 | m_host.RemoveParticleSystem(); | 4718 | m_host.RemoveParticleSystem(); |
4719 | m_host.ParentGroup.HasGroupChanged = true; | ||
4716 | } | 4720 | } |
4717 | else | 4721 | else |
4718 | { | 4722 | { |
@@ -4857,6 +4861,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
4857 | prules.CRC = 1; | 4861 | prules.CRC = 1; |
4858 | 4862 | ||
4859 | m_host.AddNewParticleSystem(prules); | 4863 | m_host.AddNewParticleSystem(prules); |
4864 | m_host.ParentGroup.HasGroupChanged = true; | ||
4860 | } | 4865 | } |
4861 | m_host.SendFullUpdateToAllClients(); | 4866 | m_host.SendFullUpdateToAllClients(); |
4862 | } | 4867 | } |
@@ -7260,10 +7265,12 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
7260 | return; | 7265 | return; |
7261 | } | 7266 | } |
7262 | m_host.ParentGroup.RootPart.PayPrice[0]=price; | 7267 | m_host.ParentGroup.RootPart.PayPrice[0]=price; |
7263 | m_host.ParentGroup.RootPart.PayPrice[1]=(int)quick_pay_buttons.Data[0]; | 7268 | |
7264 | m_host.ParentGroup.RootPart.PayPrice[2]=(int)quick_pay_buttons.Data[1]; | 7269 | m_host.ParentGroup.RootPart.PayPrice[1]=(LSL_Types.LSLInteger)quick_pay_buttons.Data[0]; |
7265 | m_host.ParentGroup.RootPart.PayPrice[3]=(int)quick_pay_buttons.Data[2]; | 7270 | m_host.ParentGroup.RootPart.PayPrice[2]=(LSL_Types.LSLInteger)quick_pay_buttons.Data[1]; |
7266 | m_host.ParentGroup.RootPart.PayPrice[4]=(int)quick_pay_buttons.Data[3]; | 7271 | m_host.ParentGroup.RootPart.PayPrice[3]=(LSL_Types.LSLInteger)quick_pay_buttons.Data[2]; |
7272 | m_host.ParentGroup.RootPart.PayPrice[4]=(LSL_Types.LSLInteger)quick_pay_buttons.Data[3]; | ||
7273 | m_host.ParentGroup.HasGroupChanged = true; | ||
7267 | } | 7274 | } |
7268 | 7275 | ||
7269 | public LSL_Types.Vector3 llGetCameraPos() | 7276 | public LSL_Types.Vector3 llGetCameraPos() |
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/LSL_Constants.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/LSL_Constants.cs index e3b81b7..6de7ca4 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/LSL_Constants.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/LSL_Constants.cs | |||
@@ -260,7 +260,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.ScriptBase | |||
260 | public const int CHANGED_REGION_RESTART = 256; | 260 | public const int CHANGED_REGION_RESTART = 256; |
261 | public const int TYPE_INVALID = 0; | 261 | public const int TYPE_INVALID = 0; |
262 | public const int TYPE_INTEGER = 1; | 262 | public const int TYPE_INTEGER = 1; |
263 | public const int TYPE_double = 2; | 263 | public const int TYPE_FLOAT = 2; |
264 | public const int TYPE_STRING = 3; | 264 | public const int TYPE_STRING = 3; |
265 | public const int TYPE_KEY = 4; | 265 | public const int TYPE_KEY = 4; |
266 | public const int TYPE_VECTOR = 5; | 266 | public const int TYPE_VECTOR = 5; |