[sldev] Proposal for Extending the number of attachments per attachment point.

Carlo Wood carlo at alinoe.com
Sat Jan 17 07:50:41 PST 2009


Introduction
------------

I keep complete outfits in separate folders;
however using "Replace outfit" is *seldom*
practical, as it requires that EVERY attachment
that I want to wear at that point is in
that folder, and that not practical for several
reasons, one of them being that a lot of the
things I have are not copyable; another being
that I edit my objects and don't want to keep
track of all those copies.

That leaves the options "Add to outfit" and
"Remove items". To switch from outfit 'A'
to 'B' I first 'add' B and then remove 'A'.

This method still requires (at least) a third
folder to be involved: attachments that are
part of outfit A and B (still assuming I can't
keep a copy in both). Therefore I have third
folder with things I *always* want to wear:
hair, hairband, necklace, bracelet, tickler,
tatoo, piercing (AO, HUD's etc). Lets call
this folder S (of Sticky).

Also this has several management problems as
well that could be improved but that is not
what this post is about.

Where did my Sticky objects go to?
----------------------------------

The most annoying problem that occurs is
when things in a folder 'B' uses the same
attachment points as things in 'S', and
in fact I even have two things in S that
use the same attachment point that I cannot
link due to permission problems (tickler
and necklace, both no-mod).

If I wear an outfit with a colar, a blouse
say, then I'm sure my necklace disappears
(or my tickler if I had on instead), if then
I put on a jacket over that - the colar is
*replaced* with the one of the jacket :(.

Proposal
--------

To make a long story short; in a group
with a high accumulated IQ we came to the
following solution:

1) Add to the Edit window for each object
   a pulldown menu with a preset number
   of classes, where it is possible to
   select zero to any number of those
   classes by holding down control while
   clicking a class (not holding down
   control would reset and only select
   the class under the mouse).

   This point was mainly designed to
   make it possible for the majority
   to grasp the otherwise abstract concept
   of masks, as well as allow a reasonable
   choice for masks by default in sold
   products (so no editting of the mask
   is needed in most cases).

2) Each of the selected classes is a
   bit in bit mask (M). If an attachment
   has a mask M1, and a new attachment
   to the same position has mask M2,
   then the first attachment is removed
   if and only if (M1 & M2) != 0.

   Note that this formula has to be
   symmetrical in M1 and M2, because the
   order in which attachments are added
   may never cause a different result.

3) The classes would be (open for
   discussion obviously):
   - body part
   - tatoo
   - clothing layer 1 (ie undershirt)
   - clothing layer 2 (ie shirt)
   - clothing layer 3 (ie jacket)
   - jewelry
   - shoes
   - AO
   - animation movement
   - animation reshape
   - legacy attachment

4) This mask should be modifyable by the
   owner (even for no mod objects).

Thus, a mask of 16 bit would be enough.

I realize this still isn't perfect, but it
allows for a much better and easier management
of attachments.

It has to following advantages:

* It will be 100% backwards compatible with
  old attachments: by default every attachment
  will have only the 'legacy attachment' bit
  set, causing at most one such attachment
  per attach point.

* It can be introduced gradually (first on all
  servers, then in the clients / LSL).

* New attachments (or editted old ones) can
  choose between the behavior of coexisting
  with a legacy attachment, or removing
  eachother.

And last but not least

* I will finally be able to wear my necklace
  (jewelry), tickler (animation movement),
  blouse colar (clothing layer 2) and jacket
  colar (clothing layer 3) all at the same
  time!

-- 
Carlo Wood <carlo at alinoe.com>


More information about the SLDev mailing list