• All submissions to this site are governed by Second Life Project Contribution Agreement. By submitting patches and other information using this site, you acknowledge that you have read, understood, and agreed to those terms.
Issue Details (XML | Word | Printable)

Key: SVC-1505
Type: Bug Bug
Status: Resolved Resolved
Resolution: Fixed
Priority: Major Major
Assignee: kelly linden
Reporter: Latexina Pinklady
Votes: 3
Watchers: 2
Operations

If you were logged in you would be able to see more operations.
2. Second Life Service - SVC

llSetLinkPrimitiveParams is not working correctly with linked prims

Created: 11/Feb/08 07:13 AM   Updated: 10/Apr/08 02:12 PM
Return to search
Component/s: Physics
Affects Version/s: Havok4 Beta
Fix Version/s: Havok4 Beta

Environment: Mac Os Tiger
Issue Links:
Relates
 

Linden Lab Issue ID: DEV-11671


 Description  « Hide
I have noticed llSetLinkPrimitiveParams function problem in new beta havok4 simulators. When avatar sits on non linked single prim it is possible to change its params using this function with linknumber = objects prims + 1 for avatar, soo in one prim object avatar has 2 linknumber and it is fine, but when i link my root object with other objects and try to change avatar parameters it doesnt work, for example for 7 prim object avatar should be 8 prim.
Everything was fine before introducing havok4 and my scripts are working fine in no havok4 simulators.

this is the line from my script that doesnt work with root prims that are linged with any others, and only in new simulator.
llSetLinkPrimitiveParams(llGetObjectPrimCount(llGetKey())+1,[PRIM_POSITION, cur_pos+z_offset]);

The parcel i experience this problem is: Odessa Grand

I have noticed as well that all "sitting" positions are a little bit higher then before in havok4 that makes all poseballs not coordinated correctly as they used to be.



 All   Comments   Change History      Sort Order: Ascending order - Click to sort in descending order
Jennifer Brennon added a comment - 22/Feb/08 01:01 PM
I have experienced this problem as well. I've been developing a animation engine based on this principle. I've been able to make the system work only after a fresh rez of the device. After making changes to the device in world, at what seems a random time, the linked prims stop responding to the PRIM_POSITION parameter. If I take the device back into inventory and then re-rez, the device will then again work as expected. Something about editing the device after rez, breaks this part of the parameters. I've also noticed that it breaks a few of the other parameters of llSetLinkPrimitiveParams such as PRIM_SIZE. This system worked well before havok4, so I'm assuming this is something that was broken by that havok4. If anyone has found a work around for this failing function, please post. Thanks.

Harleen Gretzky added a comment - 22/Feb/08 02:09 PM
The sitting positions issue is here: SVC-1299

Harleen Gretzky added a comment - 22/Feb/08 04:22 PM
Couldn't reproduce this, put the below script into a multiprim object and it moves my avatar fine.

vector SIT_POS = <0.0, 0.0, 1.0>;
rotation SIT_ROT = ZERO_ROTATION;

vector TARGET_POS = <0.0, 0.0, 2.0>;

default
{
state_entry()

{ llSitTarget(SIT_POS, SIT_ROT); }

changed(integer changes)
{
if ((changes & CHANGED_LINK) && llAvatarOnSitTarget() != NULL_KEY)

{ llSleep(3.0); llOwnerSay("Moving: " + llGetLinkName(llGetNumberOfPrims())); llSetLinkPrimitiveParams(llGetNumberOfPrims(), [ PRIM_POSITION, TARGET_POS ]); }

}
}


Harleen Gretzky made changes - 22/Feb/08 04:49 PM
Field Original Value New Value
Link This issue Relates to SVC-1239 [ SVC-1239 ]
Jennifer Brennon added a comment - 24/Feb/08 10:52 PM
I'd like to add to what I found here. I was experiencing the problem of the failing of this function, but in the current version H4 beta 1.19.0.79818, this issue as far as I can see has been fixed. Now on normal sims still running the Second Life Server 1.19.0.79368 and even the updated version now only on 500 or so sims Second Life Server 1.19.1.80455 this function is still failing. All I can say is I hope Havok 4 comes quickly...

Cecilia Zheng added a comment - 08/Mar/08 03:04 AM
What a strange in my test, that some Havok4 sims with the same version act differently.
Some sims give a fine work on llSetLinkPrimitiveParams(x,[PRIM_POSITION,v)
but some other sims failed to make it work.

I make a simple test to do, that create 3 box in a line, with center become the root prim and have this script:

default
{
state_entry()

{ llSitTarget(<0,0,.1>,ZERO_ROTATION); }

touch_start(integer total_number)

{ vector test=(vector)llGetLinkName(llDetectedLinkNumber(0)); llSetLinkPrimitiveParams(4,[PRIM_POSITION,(vector)test,PRIM_ROTATION,llEuler2Rot((vector)test)]); }

}

The left and right box have name:
<.0,1.0,.0>
and
<.0,-1.0,.0>

So with the script when I was sit on the center box, and touch the left or right box should moved and rotated.
It work fine on regular sims (non Havok4) and some of Havok4. But not on some Havok4 even with same version of the sims server of the Havok4 sims.
After upgrade today, I was check again, and the problem havok4 sims, still failed do the task.


Cecilia Zheng added a comment - 09/Mar/08 07:19 AM
I was reported that the sim that work fine with SetLinkPrimitiveParams with the new update of Havok4 (v1.19.1.81747) become failing to move the avatar position.

lindenrobot made changes - 09/Mar/08 10:08 AM
Linden Lab Issue ID DEV-11671
Cecilia Zheng added a comment - 10/Mar/08 03:19 AM
I'm just recheck again for some havok4 sims especially, reported having problem.
Seem all the sim work fine with the test.

kelly linden made changes - 10/Mar/08 11:07 AM
Assignee kelly linden [ kelly linden ]
kelly linden added a comment - 10/Mar/08 11:15 AM
My testing shows this to be working now. I think that matches what Cecilia is saying as well.

My specific test:
vector cur_pos = <0,0,0>;
vector z_offset = <0,0,0.5>;
default
{
touch_start(integer total_number)

{ integer count = llGetObjectPrimCount(llGetKey()); llSay(0, (string)count + " prims. [" + (string)llGetNumberOfPrims() + "]"); llSetLinkPrimitiveParams(count + 1, [PRIM_POSITION, cur_pos + z_offset]); cur_pos += z_offset; }

}

I tried this script in a single prim, a root prim (with 1 and with 7 children), and in a child prim. It worked in all cases. I was a little surprised to find that llGetObjectPrimCount didn't include the agent but llGetnumberOfPrims did. That seems to match the havok1 behavior though and I suppose is useful specifically for cases like this - determining how many people are sitting on the object.


kelly linden made changes - 10/Mar/08 11:16 AM
Fix Version/s Havok4 Beta [ 10171 ]
Resolution Fixed [ 1 ]
Status Open [ 1 ] Resolved [ 5 ]
Felix Oxide added a comment - 07/Apr/08 12:42 AM
my sit scripts have stopped functioning properly in the mainland region of Kolbeinsey since the update to Havok 4. The creator of the scripts says that setlinkprimitiveparams movement is no longer working in this sim but setlinkprimitiveparams rotation is. We tried it in another sim and they seem to function normally. but in Kolbeinsey they do not. Here is another odd bit, they function normally for me, but no one else now. They do the animation or pose but are not moved to the set offset.

Felix Oxide made changes - 07/Apr/08 12:42 AM
Resolution Fixed [ 1 ]
Status Resolved [ 5 ] Reopened [ 4 ]
Mosley Sperber added a comment - 07/Apr/08 01:14 PM
See also SVC-1952 .

kelly linden added a comment - 10/Apr/08 02:11 PM - edited
After reading this again, it is possible this is a dupe of SVC-1952, or visa versa. Either way the issue will be addressed in a future release and is fixed internally.

kelly linden made changes - 10/Apr/08 02:11 PM
Resolution Fixed [ 1 ]
Status Reopened [ 4 ] Resolved [ 5 ]
Sue Linden made changes - 13/Nov/08 12:09 PM
Workflow jira-2007-12-22a [ 52164 ] jira-2008-11-14 [ 82213 ]
Sue Linden made changes - 13/Nov/08 04:41 PM
Workflow jira-2008-11-14 [ 82213 ] jira-2008-11-14a [ 90502 ]