Browse Source

Fix avatar clothing bounds test.

Bounds type needs be checked after refreshing the bsp tree.
Skoader 13 years ago committed by Adam Johnson
parent
commit
2290aab5a8
  1. 7
      Sources/Plasma/PubUtilLib/plAvatar/plAvatarClothing.cpp

7
Sources/Plasma/PubUtilLib/plAvatar/plAvatarClothing.cpp

@ -1232,9 +1232,6 @@ hsBool plClothingOutfit::MsgReceive(plMessage* msg)
if (fAvatar && fGroup != plClothingMgr::kClothingBaseNoOptions) if (fAvatar && fGroup != plClothingMgr::kClothingBaseNoOptions)
{ {
plDrawable *spans = fAvatar->FindDrawable(); plDrawable *spans = fAvatar->FindDrawable();
const hsBounds3Ext &bnds = spans->GetWorldBounds();
if (bnds.GetType() == kBoundsNormal)
{
// This is a bit hacky... The drawable code has just run through and updated // This is a bit hacky... The drawable code has just run through and updated
// each span's bounds (see plDrawableSpans::IUpdateMatrixPaletteBoundsHack()) // each span's bounds (see plDrawableSpans::IUpdateMatrixPaletteBoundsHack())
// but not the world bounds for the entire drawable. So we tell the space tree // but not the world bounds for the entire drawable. So we tell the space tree
@ -1247,11 +1244,11 @@ hsBool plClothingOutfit::MsgReceive(plMessage* msg)
// Where were we? Oh yeah... if this avatar is in view it needs a texture. Tell // Where were we? Oh yeah... if this avatar is in view it needs a texture. Tell
// the pipeline. // the pipeline.
if (preMsg->Pipeline()->TestVisibleWorld(spans->GetSpaceTree()->GetWorldBounds())) const hsBounds3Ext &bnds = spans->GetSpaceTree()->GetWorldBounds();
if ((bnds.GetType() == kBoundsNormal) && preMsg->Pipeline()->TestVisibleWorld(bnds))
preMsg->Pipeline()->SubmitClothingOutfit(this); preMsg->Pipeline()->SubmitClothingOutfit(this);
} }
} }
}
plGenRefMsg *refMsg = plGenRefMsg::ConvertNoRef(msg); plGenRefMsg *refMsg = plGenRefMsg::ConvertNoRef(msg);
if (refMsg) if (refMsg)

Loading…
Cancel
Save