[Opensim-dev] avatar appearance and grayness

Mic Bowman cmickeyb at gmail.com
Fri Sep 26 17:01:12 UTC 2008


for the last couple weeks i've been digging into the appearance and
attachments code. it started as an attempt to find that
inventory/attachments race condition and has turned into an attempt to
understand (and hopefully fix) the problem where all avatars on our
internal sims start gray (and stay that way until you rebake
textures/edit appearance). as part of the investigation, i'm convinced
that there is "magic" in here that i don't understand.

for the moment, i have two concrete questions...

* in scenepresence, the oncompletemovementtoregion event chains calls
to sendinitialdata() and completemovement(). is there a reason why
those two functions are separated? the only place either is called is
in that particular event handler... i want to experiment with changing
the order of some of the other tasks. specifically, getting the
appearance complete is much more important for my internal users than
getting the scene updated right away (something about semi-naked gray
avatars is an immediate turn-off for novice users working in open
cubicles :-).

* here's the magic question... can anyone explain why the avatars
appear gray? i'm certain the avatar appearance data is being sent (and
i've verified that it is correct for both default and customized
avatars). often one or two parts of the appearance are correct (like
avatar hair). if i leave the call to "sendavatardata" in the later
sendinitialdata event handler, then i need to wait for quite awhile to
rebake.. but if i move it up so that it gets sent right after i create
the appearance (and before the initial inventory retrieval request
happens) then rebake *always* works the first time. (and edit
appearance  always fixes the grayness for my avatar and everyone who
is looking at my avatar)

and for what its worth... just for kicks I added a 5 second sleep into
the inventory retrieval in the mysql inventory module, it fixes the
gray avatar problem. which seems to indicate that the client is
expecting a particular order... and speeding up inventory retrieval
broke that ordering.

thoughts? more places to start looking?

--mic



More information about the Opensim-dev mailing list