Jump to content

Why aren't llSetPrimitiveParams and llSetLinkPrimitiveParams deprecated?


Sara Nova
 Share

You are about to reply to a thread that has been inactive for 3983 days.

Please take a moment to consider if this thread is worth bumping.

Recommended Posts

So from my understanding, llSetPrimitiveParams and llSetLinkPrimitiveParams came first, and delayed the script by 0.2 seconds when called, probably to help prevent lag. Later on, I assume there was some change that made things more efficient, and llSetLinkPrimitiveParamsFast was introduced since the delay was no longer needed. Simply removing the delay from llSetPrimitiveParams and llSetLinkPrimitiveParams wouldn't work, as that would break scripts that were programmed to expect the delay.

My question is what reason is there to still use llSetPrimitiveParams and llSetLinkPrimitiveParams? Shouldn't these functions be deprecated in favor of llSetLinkPrimitiveParamsFast? If you still want a delay there, you can use llSleep.

(Come to think of it, why isn't there an llSetPrimitiveParamsFast if there's a regular llSetPrimitiveParams?)

Link to comment
Share on other sites

Yup.  Nobody uses llSetPrimitiveParams or llSetLinkPrimitiveParams any more.  SLPPF was introduced about a year and a half ago, making the others obsolete.  There's no need for a llSetPrimitiveParamsFast because you can always use the designator LINK_SET in SLPPF to accomplish the same thing.  

It's too much work to deprecate functions.  Just ignore them.   :smileytongue:

Link to comment
Share on other sites

How is deprecating functions a lot of work? Isn't it just a matter of changing the documentation?

And I'm aware there's no need for an llSetPrimitiveParamsFast, but there is and llSetPrimitiveParams, so that's why I was asking.

Link to comment
Share on other sites

By definition, deprecated functions are both unreliable and may be removed completely at a future date. In other words, though we have had llSetLinkPrimitiveParamsFast since SL 1.38, Linden Labs still fully supports the older versions of the function and plans to do so in the forseeable future.

 

Link to comment
Share on other sites

llSPP is still used massively in pre-llSLPPF scripts. Depreciating it wouldn't be possible without breaking that content. LL, as a rule, don't depreciate commands just because they're in competition with other functions.

I do remember the last time LL culled some LSL commands; llMakeExplosion and llMakeSmoke, I think? Either way, there'd been warnings about their status for years (they were 'presets' for llParticleSystem, before LSL had full access to it). There was still SOME content that broke.

Further, llSLPPFworks without a delay by pushing itself to the top of the Prim Updates queue, forcing it to compete with whatever the simulator was doing in the current frame. llSPP is much more friendly, since it waits until the next frame (typically 0.2s) before firing. This allows it to process collisions and other geometry (as well as things like updating to user-viewers) in sequence.

In my experience, the only reason NOT to wait is if the prim animation is absolutely, 100% of the time, seen by a user (like breedables/animals/other large animated link-sets). I would also never use llSLPPF on attached scripts, because that would only add script interruptions to regions that I'm travelling through.

Link to comment
Share on other sites

I agree Freya.
You shouldn't use Fast when there isn't a particularly good reason for doing so

I use llSetPrimitiveParams() frequently also in new scripts.
It is often convenient to have the built in pause and it is shorter to write

Say setting a prim's physics for key framed motion:

state_entry(){    llSetPrimitiveParams([PRIM_PHYSICS_SHAPE_TYPE, PRIM_PHYSICS_SHAPE_CONVEX]);}

There is no need for Fast at all

It is shorter to write and I like it better than

state_entry(){    llSetLinkPrimitiveParamsFast( LINK_THIS, [PRIM_PHYSICS_SHAPE_TYPE, PRIM_PHYSICS_SHAPE_CONVEX]);}

Of course I couldn't do without llSLPPF.
When you turn on or off 100 spotlights in a linkset with 200 prims, llSLPPF is invaluable.

llSetPrimitveParams() isn't depreciated and it shouldn't be

:smileysurprised::):smileyvery-happy:

Link to comment
Share on other sites

You are about to reply to a thread that has been inactive for 3983 days.

Please take a moment to consider if this thread is worth bumping.

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
 Share

×
×
  • Create New...