• 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-2723
Type: Bug Bug
Status: Open Open
Priority: Major Major
Assignee: Andrew Linden
Reporter: Chalice Yao
Votes: 28
Watchers: 0
Operations

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

Change in llPushObject strength cap behavior 1.22 -> 1.23 simulator release

Created: 31/Jul/08 07:34 AM   Updated: 28/Oct/08 04:11 PM
Return to search
Component/s: Physics, Scripts
Affects Version/s: 1.23.4 Server
Fix Version/s: None

Linden Lab Issue ID: DEV-18816


 Description  « Hide
The behavior of push and the enforcement of its max value has changed from the 1.22 sim release to 1.23 in a drastic, and negative way.

While previously, any number too high on push simply resulted in the push's power moved down to max, right now any number that goes above the max strength of 2147483647 (max integer) results in the push being nullified, or close to nullified.

This severely impacts alot of non-grief products like movelocks and flight assists, where the creator simply set a huge value to get the boost, and relied on the sim capping the push power down to its maximum.

This expecially hits older products and products where the maintainer/creator is not in SL regularly.

This strikes me as bug, and I suggest simply going back to the old behavor of lowering push levels to the defined max if the number is too high.



 All   Comments   Change History      Sort Order: Ascending order - Click to sort in descending order
jessica lyon added a comment - 31/Jul/08 07:38 AM
YAY for Linden Labs breaking content.. once again. Making changes without considering the thousands of creators and tens of thousands of residents who own items which rely on push. Yay for thinking ahead. Please fix this. Thank you.

Joker Opus added a comment - 31/Jul/08 03:01 PM
Now I have to worry about exceeding MaxINT when creating push content, this isn't as much of an issue as updating all of my old scripts and upgrading 60% of my purchased items.

I hope to god that this was unintentional


flew voom added a comment - 01/Aug/08 06:01 AM
I honestly do not get why LL keeps messing with the push. Again i will have to adjust the scripts in my products and awnsering a lot of IM's and notecards form residents that have purchased my products...and explain them why some features don't work anymore. Pls, undo this change.

Janine Cummings added a comment - 03/Aug/08 05:44 PM
all sayd.

Bridie Linden added a comment - 05/Aug/08 09:26 AM
Andrew is investigating...

Maggie Darwin added a comment - 17/Aug/08 04:01 PM
It would be really nice if the fix for this could get into the batch of the first of post-Mono physics fixes

Maggie Darwin added a comment - 16/Sep/08 04:05 AM
Been a while since we've heard anything on this one...

Maggie Darwin added a comment - 29/Sep/08 09:12 PM
Tomorrow will be October...

Maggie Darwin added a comment - 21/Oct/08 04:02 AM
Hello?

Siobhan McCallen added a comment - 23/Oct/08 07:45 AM
Something that may be have contributed to the problem is the way teaching tools for LSL gives examples of the use of llPushObject() and the push value integer. For example, the example given on LSLWiki: (http://lslwiki.net/lslwiki/wakka.php?wakka=ExamplellPushObject) does not give significant emphasis to making certain the number falls within proper limits, but instead simply suggests using a string of 9s for a "very large push".

It is true that the number of 9s in the example code is only seven digits, while the number of digits in the maximum possible push is 10, but it is reasonable to assume that inexperienced coders, who want "more bang for their buck" will simply tack on a few more 9s, rather than editing the integer to a correct value within limits. This is compounded by lazy teaching with phrases such as "When coming up with the velocity to push, the max will be 2147483647. Anything over that will act as 2147483647. " (From the wiki example page) This gives the new programmer an "out" for lazy programming.

Boundary conditions of this sort cannot be relied upon to STAY boundary conditions. If there is a maximum allowable value for a constant, it should be an error for it to be beyond that number – but properly, it should have BEEN an error from the beginning. Now, the genie has escaped from the bottle, and to change that boundary condition would break things that have resulted from this laziness. The only thing that can be done now is to fix the boundary condition so it goes BACK to the expected behavior – i.e., that over-max values default to the max, not to zero – but that teaching methods change so that future generations of scripters do not come up thinking it is perfectly acceptable to just slap any old number in there, and the "maximum" will be handled for them.

It isn't THAT hard to look it up. Or you could put the maximum in the tooltip for the function. That way, years from now, maybe future devices won't have the maximum munged.


Siobhan McCallen added a comment - 28/Oct/08 04:11 PM
Tested on Beta Grid under 1.25. Appears to be working properly now. Checked with a pushing device with push level set to "9999999999" and it pushed at the same level as at 2147483647. Prior to this, setting beyond max reduced push to nothing. Many other pushing devices also work properly that were not working at all before.