[Opensim-dev] Sit position changes in OpenSimulator b6df9e9 (Sat 5th Nov 2011)

Melanie melanie at t-data.com
Mon Dec 5 07:42:09 UTC 2011


As I am the one who did it, +1 on leaving it fixed. Items can be
fixed and copy/paste compatibility for new objects coming in from sl
is more important, IMHO.

Melanie

On 05/12/2011 04:14, Trinity wrote:
> i say fix it and let the chips fall where they may
> 
> On Fri, Dec 2, 2011 at 3:55 PM, Justin Clark-Casey <jjustincc at googlemail.com
>> wrote:
> 
>> OpenSimulator commit b6df9e9 (dev code) changed the sit target adjustment
>> to better match that used in Second Life.
>>
>> Unfortunately, this has the effect of making all existing sit positions
>> set by scripts using llSitTarget() inaccurate (e.g. avatar ends up hovering
>> above a chair).
>>
>> From a user/scripter point of view this is a bad thing.  Not only do
>> existing objects with user inventory/prim inventory now have wrong values,
>> but positions loaded from OARs/IARs will now be wrong without adjustment,
>> and OARs/IARs saved in dev code or future 0.7.3 will have wrong sit values
>> when loaded into older OpenSim releases.
>>
>> However, I believe that's it's practically impossible to have old objects
>> correctly use the old sit adjustment and new objects the new one.  Here are
>> the alternative courses of action and my considered pros/cons of each
>>
>> 1.  Change sit adjustment with no other action.
>> PROS: llSitTarget() is now implemented correctly.  No legacy mess in the
>> code.  No extra complexity required.  No development work required.
>> CONS: Without adjustment, all region, inventory objects and scripts now
>> use wrong sit values.  Wrong sit values in OARs and IARs.  Wrong sit values
>> when OARs/IARs/objects moved between dev/future 0.7.3 versions and older
>> OpenSim versions.
>>
>> 2.  Provide a tool to correct sit values in scripts
>> CONS: Too difficult since requires massive amount of script analysis.
>>  Might be possible in a limited way to catch 80/20 cases.
>>
>> 3.  Use different sit adjustment depending on prim creation date (pre Sat
>> 5 Nov 2011 use old value).
>> PROS: Stops older sit positions from being wrong.  Doesn't require much
>> code change.
>> CONS: A user has to know an opaque magic date when the sit position
>> changed.  Somewhat messy legacy code.  Future upgraders from 0.7.2 will get
>> some prims with 'wrong' sit positions and others with 'right' depending on
>> when they were created, which is in the long term possibly more confusing
>> than everything needing adjustment.
>>
>> 4.  Revert llSitTarget() behave and create an osSitTarget() using the new
>> adjustment instead.
>> PROS: All existing sit targets continue to be 'correct', and old scripts
>> still work correctly in new objects.
>> CONS: llSitTarget() remains wrong for all time (could warn on use and
>> eventually change, but users don't pay attention to such warnings).
>>
>> 5.  Store new sit positions in a different field on SOP and use this if
>> present with new sit adjustment, otherwise use old field with old sit
>> adjustment.
>> PROS: Works invisibly as long as old scripts don't set new values.
>> CONS: Messy legacy code.  Old scripts probably will set new values - then
>> would need to act differently on script item creation date, with same
>> issues as 3.
>>
>> 6.  Provide a config switch to use old sit adjustment or new.
>> PROS: Administrator controllable.  In a future OpenSim release, admin can
>> decide when they are going to flip to using the 'new' value.  This might be
>> done anyway for the use case where OpenSim is being used with content in
>> isolation from elsewhere.
>> CONS: Encourages the creation of more objects using the old sit values,
>> encouraging a continuous mix of old and new values which can't both be used
>> on the same region.
>>
>> Doubtless there are other strategies, but on the face of it there doesn't
>> seem to be an ideal solution.  It's made much more difficult by the fact
>> that these values can only be scripts rather than as properties on the part
>> (a decision which I find hard to swallow).
>>
>> On the whole, I think that it's better to accept the pain of change as
>> early as possible and move to a world where all values are correct rather
>> than remain with one where things are incorrect or a mish-mash in the long
>> term.  As I said to Akira, the alpha nature of OpenSim is meant to be a
>> signal that these things can change as bugs are fixed.
>>
>> However, I'm certainly happy to hear alternative opinions or
>> well-researched and intelligent alternative proposals.
>>
>> --
>> Justin Clark-Casey (justincc)
>> http://justincc.org/blog
>> http://twitter.com/justincc
>> ______________________________**_________________
>> Opensim-dev mailing list
>> Opensim-dev at lists.berlios.de
>> https://lists.berlios.de/**mailman/listinfo/opensim-dev<https://lists.berlios.de/mailman/listinfo/opensim-dev>
>>
> 
> 
> 
> _______________________________________________
> Opensim-dev mailing list
> Opensim-dev at lists.berlios.de
> https://lists.berlios.de/mailman/listinfo/opensim-dev



More information about the Opensim-dev mailing list