Viewing Issue Simple Details Jump to Notes ] View Advanced ] Issue History ] Print ]
ID Category Severity Reproducibility Date Submitted Last Update
0004228 [opensim] [REGION] Scripting Engine major always 2009-10-07 22:33 2009-10-08 09:35
Reporter ShackDougall View Status public  
Assigned To
Priority normal Resolution open  
Status new   Product Version
Summary 0004228: llSetPos is more restrictive than SL with regard to child prims
Description Ticket 0004047 (http://opensimulator.org/mantis/view.php?id=4047)was [^] rejected because:

"We are aiming to provide copy/paste compatibility for scripts from SL. ... Often the user's ability to change a script is not sufficient to remove it, so the result is "It doesn't work" and more support requests."

In 0.6.7-RC1, llSetPos() fails this test completely with regard to child prims because OpenSim is much more restrictive than SL.

SL does not restrict child prims to moving in 10m increments, nor does it limit the total distance that a child prim can move to a maximum of 10m from the root. OpenSim 0.6.7-RC1 does both of these.

Test Cases

Test 1: Moving a child 20 meters from the root in 4 meter increments.

1) Create two 10m x 10m x 0.5m prims.
2) Put the Move20XTest script in one prim (script is attached).
3) Link the prims so that the script is in the child prim.
4) Approximately center the prims with each other.
5) Touch the child prim.

Test 1 - Results

In OpenSim 0.6.7, the child will move 8m.
In SL, the child will move 20m.


Test 2: Moving Child Prims to Form a 20m x 30m Board

1) Create a prim and put the Child20x30Test script in it (script is attached).
2) Make 5 copies of the prim. (shift-drag, control-Z)
3) Link the six prims together.
4) Touch the linkset.

Test 2 - Results

In OpenSim 0.6.7, only two of the prims will move.
In SL, the five child prims will move so that the linkset forms a 20m x 30m grid of prims.


Discussion

I don't believe that it is necessary to completely mimic SL's restrictions on child movement. It is a complex system that is partially based on the SL's Linkablity Rules (http://wiki.secondlife.com/wiki/Linkability_Rules). [^] For example, you can move a large child prim a farther distance from the root than you can a small child prim.

However, I do believe that it is vital that the default OpenSim rules are equal to or *less* restrictive than SL's rules.

Please, please, please make llSetPos() less restrictive for child prims.
Additional Information XEngine was used in these experiments.
Tags No tags attached.
Git Revision 0.6.7-post-fixes
SVN Revision 0
Run Mode Standalone (1 Region)
Physics Engine ODE
Environment .NET / Windows32
Mono Version None
Attached Files ? file icon Child20x30Test.lsl [^] (757 bytes) 2009-10-07 22:33
? file icon Child20XTest.lsl [^] (305 bytes) 2009-10-07 22:34

- Relationships

-  Notes
(0013782)
ShackDougall (reporter)
2009-10-07 22:48

In Test 2, the prims should be 10m x 10m. This is important because (as stated) the SL rules are dependent on prim size.
(0013783)
melanie (administrator)
2009-10-07 23:53

OpenSim has different rules. There are virtually no restrictions on linking distance now, which is a mixed blessing.
I believe SLs restrictions are overcomplex there and we don't need to emulate them.
However, making child prims able to freely move anywhere is also a bad idea, that can be abused in some ways.
The current maximum distance reflects a limit SL had in an earlier version. I agree that changes are needed here.
(0013788)
ShackDougall (reporter)
2009-10-08 09:35

I could live with a 10m limit on incremental moves, if the maximum limit was removed. Also, it needs to use ScriptDistanceLimitFactor or provide some other way to disable it. The current implementation seems to ignore ScriptDistanceLimitFactor.

The context for my interest in this is an LSL Rezzer that is a part of Prim Composer. The rezzer needs to be able to re-create any linkset that OpenSim allows. llSetPos should not impose limits on maximum child movement that are more restrictive than what is possible in a viewer such as Hippo.

- Issue History
Date Modified Username Field Change
2009-10-07 22:33 ShackDougall New Issue
2009-10-07 22:33 ShackDougall File Added: Child20x30Test.lsl
2009-10-07 22:33 ShackDougall Git Revision => 0.6.7-post-fixes
2009-10-07 22:33 ShackDougall SVN Revision => 0
2009-10-07 22:33 ShackDougall Run Mode => Standalone (1 Region)
2009-10-07 22:33 ShackDougall Physics Engine => ODE
2009-10-07 22:33 ShackDougall Environment => .NET / Windows32
2009-10-07 22:33 ShackDougall Mono Version => None
2009-10-07 22:34 ShackDougall File Added: Child20XTest.lsl
2009-10-07 22:37 ShackDougall Issue Monitored: ShackDougall
2009-10-07 22:48 ShackDougall Note Added: 0013782
2009-10-07 23:53 melanie Note Added: 0013783
2009-10-08 09:35 ShackDougall Note Added: 0013788
2009-10-09 05:55 justincc Issue Monitored: justincc


Mantis 1.1.1[^]
Copyright © 2000 - 2008 Mantis Group
Powered by Mantis Bugtracker