meow-7.2.2
Brad Payne (Vir Linden) 2010-07-07 17:02:37 -04:00
commit aae0b2aea8
1 changed files with 10 additions and 3 deletions

View File

@ -765,12 +765,19 @@ U32 LLViewerObject::processUpdateMessage(LLMessageSystem *mesgsys,
{
LLViewerRegion* regionp = LLWorld::getInstance()->getRegionFromHandle(region_handle);
if(regionp != mRegionp && regionp && mRegionp)
if(regionp != mRegionp && regionp && mRegionp)//region cross
{
//this is the redundant position and region update, but it is necessary in case the viewer misses the following
//position and region update messages from sim.
//this redundant update should not cause any problems.
LLVector3 delta_pos = mRegionp->getOriginAgent() - regionp->getOriginAgent();
setPosition(getPosition() + delta_pos) ; //update the region position immediately.
setPositionParent(getPosition() + delta_pos); //update to the new region position immediately.
setRegion(regionp) ; //change the region.
}
else
{
mRegionp = regionp ;
}
mRegionp = regionp ;
}
if (!mRegionp)