[opensource-dev] Open Development project: extendingavatarwearables

Nyx Linden nyx at lindenlab.com
Thu Mar 25 13:07:16 PDT 2010


Interesting proposal, and one probably worthy of further investigation. 
My concern with this plan is that the conversion from one wearable type 
to another is very much non-trivial. The wearable parameters (sleeve 
length, etc) have no relation to each other between wearables. For 
example, "sleeve length" for undershirts is visual parameter #603, which 
"drives" parameters 1042 and 1043. For shirts, it is parameter #800 
which "drives" 600, 1013, 1029, and 900.

You'd fundamentally be taking an existing wearable, and creating an 
entirely new wearable of a different type based on that wearable. 
Whether or not you save it back to your inventory as a different item, 
you are essentially both copying it and modifying the wearable. What 
happens if it is mod-able but no-copy? If you make changes to the 
converted (undershirt) version and hit save, do you have to 
back-translate those parameters back to the original (shirt)? I'd think 
we'd need to create a new asset/inventory item of the converted type to 
implement this idea, at which point permissions on the original are very 
much a factor.

Could you do the math to do the conversion? probably. Would the result 
be of acceptable quality? possibly. Would it be lossy in some cases? 
definitely. Do I want to implement a conversion function that will 
convert a wearable type to any other wearable type, including figuring 
out (by examining all parameters in avatar_lad.xml) what parameters line 
up with what other parameters for each possible conversion operation and 
then translate those conversions into code? no, I'd *really* rather not.

But perhaps I'm overcomplicating the implementation of this idea somehow?

 -Nyx


Kitty wrote:
>> Again, if any open source developer wants to look at the code 
>> architecture and draw up a plan for how this can be done in a 
>> reasonable amount of time, I'm all ears. My current ideas on 
>> how to implement this would push us well out of the timeframe 
>> that we were hoping to ship this set of features.
>>     
>
> Could inventory links be used as a modifier for wearables rather than the
> current pass-through?
>
> I.e. an item on the shirt layer
>
> User right-clicks and picks "Wear as undershirt" which generates an
> inventory link in COF just as it does now, but with the lower two bytes of
> its item flags set to WT_UNDERSHIRT.
>
> The "onWearableArrived" would examine the inventory link to the wearable in
> COF, note the discrepancy on what it's being passed and convert the
> LLWearable to match the type specified in the link and everything else just
> works more or less the way it does now?
>
> It's not an ideal solution ("downgrading" jackets might get troublesome
> since they have two textures) but would allow arbitrary reordering of
> existing layers and since it's all handled by links "no modify" or "no copy"
> on the original wouldn't even come into it.
>
> Kitty
>
>   



More information about the opensource-dev mailing list