diff options
author | Melanie Thielker | 2008-07-19 04:05:34 +0000 |
---|---|---|
committer | Melanie Thielker | 2008-07-19 04:05:34 +0000 |
commit | bcf74416a1677584c069e4e0b9acf9015d8c5b6c (patch) | |
tree | 8c0b967fafbc21e93974760c0b32a0dd2119b930 /OpenSim/Region/ScriptEngine/Common | |
parent | Introduce a separate connection string for estates, which defaults to the one gi (diff) | |
download | opensim-SC_OLD-bcf74416a1677584c069e4e0b9acf9015d8c5b6c.zip opensim-SC_OLD-bcf74416a1677584c069e4e0b9acf9015d8c5b6c.tar.gz opensim-SC_OLD-bcf74416a1677584c069e4e0b9acf9015d8c5b6c.tar.bz2 opensim-SC_OLD-bcf74416a1677584c069e4e0b9acf9015d8c5b6c.tar.xz |
Fix prim link numbers (Mantis #1781)
Implements additional unlink modes (unlink root prim from link set, some
multi-set operations). Linking (single and mutiple) fully implemented.
Consistent numbering of links while in world. Link/delink with predictable
link numbering. Correct link numbers in LSL.
Not all multi-set ops implemented. Link numbers still change when taken and
re-rezzed.
Diffstat (limited to 'OpenSim/Region/ScriptEngine/Common')
-rw-r--r-- | OpenSim/Region/ScriptEngine/Common/LSL_BuiltIn_Commands.cs | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/OpenSim/Region/ScriptEngine/Common/LSL_BuiltIn_Commands.cs b/OpenSim/Region/ScriptEngine/Common/LSL_BuiltIn_Commands.cs index cbd4db2..682d566 100644 --- a/OpenSim/Region/ScriptEngine/Common/LSL_BuiltIn_Commands.cs +++ b/OpenSim/Region/ScriptEngine/Common/LSL_BuiltIn_Commands.cs | |||
@@ -2600,7 +2600,7 @@ namespace OpenSim.Region.ScriptEngine.Common | |||
2600 | 2600 | ||
2601 | if (m_host.ParentGroup.Children.Count > 1) | 2601 | if (m_host.ParentGroup.Children.Count > 1) |
2602 | { | 2602 | { |
2603 | return m_host.LinkNum + 1; | 2603 | return m_host.LinkNum; |
2604 | } | 2604 | } |
2605 | else | 2605 | else |
2606 | { | 2606 | { |
@@ -2979,7 +2979,7 @@ namespace OpenSim.Region.ScriptEngine.Common | |||
2979 | 2979 | ||
2980 | object[] resobj = new object[] | 2980 | object[] resobj = new object[] |
2981 | { | 2981 | { |
2982 | new LSL_Types.LSLInteger(m_host.LinkNum + 1), new LSL_Types.LSLInteger(num), new LSL_Types.LSLString(msg), new LSL_Types.LSLString(id) | 2982 | new LSL_Types.LSLInteger(m_host.LinkNum), new LSL_Types.LSLInteger(num), new LSL_Types.LSLString(msg), new LSL_Types.LSLString(id) |
2983 | }; | 2983 | }; |
2984 | 2984 | ||
2985 | m_ScriptEngine.m_EventQueueManager.AddToScriptQueue( | 2985 | m_ScriptEngine.m_EventQueueManager.AddToScriptQueue( |
@@ -3004,7 +3004,7 @@ namespace OpenSim.Region.ScriptEngine.Common | |||
3004 | partItemID = item.ItemID; | 3004 | partItemID = item.ItemID; |
3005 | Object[] resobj = new object[] | 3005 | Object[] resobj = new object[] |
3006 | { | 3006 | { |
3007 | new LSL_Types.LSLInteger(m_host.LinkNum + 1), new LSL_Types.LSLInteger(num), new LSL_Types.LSLString(msg), new LSL_Types.LSLString(id) | 3007 | new LSL_Types.LSLInteger(m_host.LinkNum), new LSL_Types.LSLInteger(num), new LSL_Types.LSLString(msg), new LSL_Types.LSLString(id) |
3008 | }; | 3008 | }; |
3009 | 3009 | ||
3010 | m_ScriptEngine.m_EventQueueManager.AddToScriptQueue( | 3010 | m_ScriptEngine.m_EventQueueManager.AddToScriptQueue( |
@@ -3032,7 +3032,7 @@ namespace OpenSim.Region.ScriptEngine.Common | |||
3032 | partItemID = item.ItemID; | 3032 | partItemID = item.ItemID; |
3033 | Object[] resobj = new object[] | 3033 | Object[] resobj = new object[] |
3034 | { | 3034 | { |
3035 | new LSL_Types.LSLInteger(m_host.LinkNum + 1), new LSL_Types.LSLInteger(num), new LSL_Types.LSLString(msg), new LSL_Types.LSLString(id) | 3035 | new LSL_Types.LSLInteger(m_host.LinkNum), new LSL_Types.LSLInteger(num), new LSL_Types.LSLString(msg), new LSL_Types.LSLString(id) |
3036 | }; | 3036 | }; |
3037 | 3037 | ||
3038 | m_ScriptEngine.m_EventQueueManager.AddToScriptQueue( | 3038 | m_ScriptEngine.m_EventQueueManager.AddToScriptQueue( |
@@ -3062,7 +3062,7 @@ namespace OpenSim.Region.ScriptEngine.Common | |||
3062 | partItemID = item.ItemID; | 3062 | partItemID = item.ItemID; |
3063 | Object[] resobj = new object[] | 3063 | Object[] resobj = new object[] |
3064 | { | 3064 | { |
3065 | new LSL_Types.LSLInteger(m_host.LinkNum + 1), new LSL_Types.LSLInteger(num), new LSL_Types.LSLString(msg), new LSL_Types.LSLString(id) | 3065 | new LSL_Types.LSLInteger(m_host.LinkNum), new LSL_Types.LSLInteger(num), new LSL_Types.LSLString(msg), new LSL_Types.LSLString(id) |
3066 | }; | 3066 | }; |
3067 | 3067 | ||
3068 | m_ScriptEngine.m_EventQueueManager.AddToScriptQueue( | 3068 | m_ScriptEngine.m_EventQueueManager.AddToScriptQueue( |
@@ -3086,7 +3086,7 @@ namespace OpenSim.Region.ScriptEngine.Common | |||
3086 | 3086 | ||
3087 | object[] resobj = new object[] | 3087 | object[] resobj = new object[] |
3088 | { | 3088 | { |
3089 | new LSL_Types.LSLInteger(m_host.LinkNum + 1), new LSL_Types.LSLInteger(num), new LSL_Types.LSLString(msg), new LSL_Types.LSLString(id) | 3089 | new LSL_Types.LSLInteger(m_host.LinkNum), new LSL_Types.LSLInteger(num), new LSL_Types.LSLString(msg), new LSL_Types.LSLString(id) |
3090 | }; | 3090 | }; |
3091 | 3091 | ||
3092 | m_ScriptEngine.m_EventQueueManager.AddToScriptQueue( | 3092 | m_ScriptEngine.m_EventQueueManager.AddToScriptQueue( |
@@ -3103,7 +3103,7 @@ namespace OpenSim.Region.ScriptEngine.Common | |||
3103 | foreach (SceneObjectPart partInst in m_host.ParentGroup.GetParts()) | 3103 | foreach (SceneObjectPart partInst in m_host.ParentGroup.GetParts()) |
3104 | { | 3104 | { |
3105 | 3105 | ||
3106 | if ((partInst.LinkNum + 1) == linknum) | 3106 | if ((partInst.LinkNum) == linknum) |
3107 | { | 3107 | { |
3108 | 3108 | ||
3109 | foreach (TaskInventoryItem item in partInst.TaskInventory.Values) | 3109 | foreach (TaskInventoryItem item in partInst.TaskInventory.Values) |
@@ -3114,7 +3114,7 @@ namespace OpenSim.Region.ScriptEngine.Common | |||
3114 | partItemID = item.ItemID; | 3114 | partItemID = item.ItemID; |
3115 | Object[] resObjDef = new object[] | 3115 | Object[] resObjDef = new object[] |
3116 | { | 3116 | { |
3117 | new LSL_Types.LSLInteger(m_host.LinkNum + 1), new LSL_Types.LSLInteger(num), new LSL_Types.LSLString(msg), new LSL_Types.LSLString(id) | 3117 | new LSL_Types.LSLInteger(m_host.LinkNum), new LSL_Types.LSLInteger(num), new LSL_Types.LSLString(msg), new LSL_Types.LSLString(id) |
3118 | }; | 3118 | }; |
3119 | 3119 | ||
3120 | m_ScriptEngine.m_EventQueueManager.AddToScriptQueue( | 3120 | m_ScriptEngine.m_EventQueueManager.AddToScriptQueue( |
@@ -5246,7 +5246,7 @@ namespace OpenSim.Region.ScriptEngine.Common | |||
5246 | { | 5246 | { |
5247 | foreach (SceneObjectPart partInst in m_host.ParentGroup.GetParts()) | 5247 | foreach (SceneObjectPart partInst in m_host.ParentGroup.GetParts()) |
5248 | { | 5248 | { |
5249 | if ((partInst.LinkNum + 1) == linknumber) | 5249 | if ((partInst.LinkNum) == linknumber) |
5250 | { | 5250 | { |
5251 | part = partInst; | 5251 | part = partInst; |
5252 | break; | 5252 | break; |