EXT-6536 : Make LLVOAvatarSelf a singleton

Lots of superficial cleanup, particularly around "if (" formatting.
Removed LLAgent as a friend of LLAgentCamera and refactored to use accessors.
master
Loren Shih 2010-03-26 13:58:19 -04:00
parent b74e1d9423
commit 0bcfbde3a4
13 changed files with 250 additions and 251 deletions

View File

@ -315,7 +315,7 @@ LLAgent::~LLAgent()
//-----------------------------------------------------------------------------
void LLAgent::onAppFocusGained()
{
if (CAMERA_MODE_MOUSELOOK == gAgentCamera.mCameraMode)
if (CAMERA_MODE_MOUSELOOK == gAgentCamera.getCameraMode())
{
gAgentCamera.changeCameraToDefault();
LLToolMgr::getInstance()->clearSavedTool();
@ -952,7 +952,7 @@ LLVector3 LLAgent::getReferenceUpVector()
mAvatarObject->getParent() &&
mAvatarObject->mDrawable.notNull())
{
U32 camera_mode = gAgentCamera.mCameraAnimating ? gAgentCamera.mLastCameraMode : gAgentCamera.mCameraMode;
U32 camera_mode = gAgentCamera.getCameraAnimating() ? gAgentCamera.getLastCameraMode() : gAgentCamera.getCameraMode();
// and in third person...
if (camera_mode == CAMERA_MODE_THIRD_PERSON)
{
@ -1076,17 +1076,6 @@ void LLAgent::setKey(const S32 direction, S32 &key)
//-----------------------------------------------------------------------------
U32 LLAgent::getControlFlags()
{
/*
// HACK -- avoids maintenance of control flags when camera mode is turned on or off,
// only worries about it when the flags are measured
if (mCameraMode == CAMERA_MODE_MOUSELOOK)
{
if ( !(mControlFlags & AGENT_CONTROL_MOUSELOOK) )
{
mControlFlags |= AGENT_CONTROL_MOUSELOOK;
}
}
*/
return mControlFlags;
}
@ -1768,14 +1757,14 @@ U8 LLAgent::getRenderState()
//-----------------------------------------------------------------------------
void LLAgent::endAnimationUpdateUI()
{
if (gAgentCamera.mCameraMode == gAgentCamera.mLastCameraMode)
if (gAgentCamera.getCameraMode() == gAgentCamera.getLastCameraMode())
{
// We're already done endAnimationUpdateUI for this transition.
return;
}
// clean up UI from mode we're leaving
if (gAgentCamera.mLastCameraMode == CAMERA_MODE_MOUSELOOK )
if (gAgentCamera.getLastCameraMode() == CAMERA_MODE_MOUSELOOK )
{
// show mouse cursor
gViewerWindow->showCursor();
@ -1847,7 +1836,7 @@ void LLAgent::endAnimationUpdateUI()
}
}
}
else if(gAgentCamera.mLastCameraMode == CAMERA_MODE_CUSTOMIZE_AVATAR)
else if (gAgentCamera.getLastCameraMode() == CAMERA_MODE_CUSTOMIZE_AVATAR)
{
// make sure we ask to save changes
@ -1875,7 +1864,7 @@ void LLAgent::endAnimationUpdateUI()
//---------------------------------------------------------------------
// Set up UI for mode we're entering
//---------------------------------------------------------------------
if (gAgentCamera.mCameraMode == CAMERA_MODE_MOUSELOOK)
if (gAgentCamera.getCameraMode() == CAMERA_MODE_MOUSELOOK)
{
// hide menus
gMenuBarView->setVisible(FALSE);
@ -1890,7 +1879,7 @@ void LLAgent::endAnimationUpdateUI()
LLPanelStandStopFlying::getInstance()->setVisible(FALSE);
// clear out camera lag effect
gAgentCamera.mCameraLag.clearVec();
gAgentCamera.clearCameraLag();
// JC - Added for always chat in third person option
gFocusMgr.setKeyboardFocus(NULL);
@ -1960,7 +1949,7 @@ void LLAgent::endAnimationUpdateUI()
}
}
else if (gAgentCamera.mCameraMode == CAMERA_MODE_CUSTOMIZE_AVATAR)
else if (gAgentCamera.getCameraMode() == CAMERA_MODE_CUSTOMIZE_AVATAR)
{
LLToolMgr::getInstance()->setCurrentToolset(gFaceEditToolset);
@ -1978,15 +1967,14 @@ void LLAgent::endAnimationUpdateUI()
if (getAvatarObject())
{
getAvatarObject()->updateAttachmentVisibility(gAgentCamera.mCameraMode);
getAvatarObject()->updateAttachmentVisibility(gAgentCamera.getCameraMode());
}
gFloaterTools->dirty();
// Don't let this be called more than once if the camera
// mode hasn't changed. --JC
gAgentCamera.mLastCameraMode = gAgentCamera.mCameraMode;
gAgentCamera.updateLastCamera();
}
//-----------------------------------------------------------------------------

View File

@ -1537,6 +1537,11 @@ void LLAgentCamera::updateCamera()
}
}
void LLAgentCamera::updateLastCamera()
{
mLastCameraMode = mCameraMode;
}
void LLAgentCamera::updateFocusOffset()
{
validateFocusObject();
@ -2161,7 +2166,7 @@ void LLAgentCamera::changeCameraToMouselook(BOOL animate)
{
gFocusMgr.setKeyboardFocus(NULL);
mLastCameraMode = mCameraMode;
updateLastCamera();
mCameraMode = CAMERA_MODE_MOUSELOOK;
const U32 old_flags = gAgent.getControlFlags();
gAgent.setControlFlags(AGENT_CONTROL_MOUSELOOK);
@ -2223,7 +2228,7 @@ void LLAgentCamera::changeCameraToFollow(BOOL animate)
}
startCameraAnimation();
mLastCameraMode = mCameraMode;
updateLastCamera();
mCameraMode = CAMERA_MODE_FOLLOW;
// bang-in the current focus, position, and up vector of the follow cam
@ -2308,7 +2313,7 @@ void LLAgentCamera::changeCameraToThirdPerson(BOOL animate)
mTargetCameraDistance = MIN_CAMERA_DISTANCE;
animate = FALSE;
}
mLastCameraMode = mCameraMode;
updateLastCamera();
mCameraMode = CAMERA_MODE_THIRD_PERSON;
const U32 old_flags = gAgent.getControlFlags();
gAgent.clearControlFlags(AGENT_CONTROL_MOUSELOOK);
@ -2379,7 +2384,7 @@ void LLAgentCamera::changeCameraToCustomizeAvatar(BOOL avatar_animate, BOOL came
if (mCameraMode != CAMERA_MODE_CUSTOMIZE_AVATAR)
{
mLastCameraMode = mCameraMode;
updateLastCamera();
mCameraMode = CAMERA_MODE_CUSTOMIZE_AVATAR;
const U32 old_flags = gAgent.getControlFlags();
gAgent.clearControlFlags(AGENT_CONTROL_MOUSELOOK);

View File

@ -92,8 +92,6 @@ class LLAgentCamera
LOG_CLASS(LLAgentCamera);
public:
friend class LLAgent;
//--------------------------------------------------------------------
// Constructors / Destructors
//--------------------------------------------------------------------
@ -121,8 +119,11 @@ public:
BOOL cameraCustomizeAvatar() const { return (mCameraMode == CAMERA_MODE_CUSTOMIZE_AVATAR /*&& !mCameraAnimating*/); }
BOOL cameraFollow() const { return (mCameraMode == CAMERA_MODE_FOLLOW && mLastCameraMode == CAMERA_MODE_FOLLOW); }
ECameraMode getCameraMode() const { return mCameraMode; }
ECameraMode getLastCameraMode() const { return mLastCameraMode; }
void updateCamera(); // Call once per frame to update camera location/orientation
void resetCamera(); // Slam camera into its default position
void updateLastCamera(); // Set last camera to current camera
private:
ECameraMode mCameraMode; // Target mode after transition animation is done
ECameraMode mLastCameraMode;
@ -157,6 +158,7 @@ public:
BOOL calcCameraMinDistance(F32 &obj_min_distance);
F32 calcCustomizeAvatarUIOffset(const LLVector3d& camera_pos_global);
F32 getCurrentCameraBuildOffset() { return (F32)mCameraFocusOffset.length(); }
void clearCameraLag() { mCameraLag.clearVec(); }
private:
F32 mCurrentCameraDistance; // Current camera offset from avatar
F32 mTargetCameraDistance; // Target camera offset from avatar

View File

@ -2714,7 +2714,7 @@ void LLInitialWearablesFetch::processWearablesMessage()
// Add all current attachments to the requested items as well.
LLVOAvatarSelf* avatarp = gAgent.getAvatarObject();
if(avatarp)
if (avatarp)
{
for (LLVOAvatar::attachment_map_t::const_iterator iter = avatarp->mAttachmentPoints.begin();
iter != avatarp->mAttachmentPoints.end(); ++iter)

View File

@ -568,7 +568,7 @@ void LLFloaterAnimPreview::onBtnPlay(void* user_data)
{
LLVOAvatar* avatarp = previewp->mAnimPreview->getDummyAvatar();
if(!avatarp->isMotionActive(previewp->mMotionID))
if (!avatarp->isMotionActive(previewp->mMotionID))
{
previewp->resetMotion();
previewp->mPauseRequest = NULL;
@ -593,7 +593,7 @@ void LLFloaterAnimPreview::onBtnPause(void* user_data)
{
LLVOAvatar* avatarp = previewp->mAnimPreview->getDummyAvatar();
if(avatarp->isMotionActive(previewp->mMotionID))
if (avatarp->isMotionActive(previewp->mMotionID))
{
if (!avatarp->areAnimationsPaused())
{

View File

@ -1507,7 +1507,7 @@ BOOL LLFolderBridge::isItemRemovable() const
}
LLVOAvatarSelf* avatarp = gAgent.getAvatarObject();
if(!avatarp)
if (!avatarp)
{
return FALSE;
}
@ -1662,7 +1662,7 @@ BOOL LLFolderBridge::dragCategoryIntoFolder(LLInventoryCategory* inv_cat,
if(!model) return FALSE;
LLVOAvatarSelf* avatarp = gAgent.getAvatarObject();
if(!avatarp) return FALSE;
if (!avatarp) return FALSE;
// cannot drag categories into library
if(!isAgentInventory())
@ -3027,7 +3027,7 @@ BOOL LLFolderBridge::dragItemIntoFolder(LLInventoryItem* inv_item,
}
LLVOAvatarSelf* avatarp = gAgent.getAvatarObject();
if(!avatarp) return FALSE;
if (!avatarp) return FALSE;
LLToolDragAndDrop::ESource source = LLToolDragAndDrop::getInstance()->getSource();
BOOL accept = FALSE;
@ -4269,7 +4269,7 @@ void LLObjectBridge::buildContextMenu(LLMenuGL& menu, U32 flags)
if(item)
{
LLVOAvatarSelf* avatarp = gAgent.getAvatarObject();
if( !avatarp )
if (!avatarp)
{
return;
}
@ -4355,7 +4355,7 @@ BOOL LLObjectBridge::renameItem(const std::string& new_name)
model->notifyObservers();
LLVOAvatarSelf* avatarp = gAgent.getAvatarObject();
if(avatarp)
if (avatarp)
{
LLViewerObject* obj = avatarp->getWornAttachment( item->getUUID() );
if(obj)

View File

@ -112,7 +112,7 @@ void LLMorphView::shutdown()
LLVOAvatarSelf::onCustomizeEnd();
LLVOAvatar *avatarp = gAgent.getAvatarObject();
if(avatarp && !avatarp->isDead())
if (avatarp && !avatarp->isDead())
{
avatarp->startMotion( ANIM_AGENT_BODY_NOISE );
avatarp->mSpecialRenderMode = 0;

View File

@ -180,7 +180,7 @@ void LLPreview::onCommit()
if( item->getType() == LLAssetType::AT_OBJECT )
{
LLVOAvatarSelf* avatarp = gAgent.getAvatarObject();
if(avatarp)
if (avatarp)
{
LLViewerObject* obj = avatarp->getWornAttachment( item->getUUID() );
if( obj )

View File

@ -367,7 +367,7 @@ void LLSidepanelAppearance::fetchInventory()
}
LLVOAvatarSelf* avatarp = gAgent.getAvatarObject();
if(avatarp)
if (avatarp)
{
for (LLVOAvatar::attachment_map_t::const_iterator iter = avatarp->mAttachmentPoints.begin();
iter != avatarp->mAttachmentPoints.end(); ++iter)

File diff suppressed because it is too large Load Diff

View File

@ -4117,7 +4117,7 @@ void process_avatar_appearance(LLMessageSystem *mesgsys, void **user_data)
mesgsys->getUUIDFast(_PREHASH_Sender, _PREHASH_ID, uuid);
LLVOAvatar* avatarp = (LLVOAvatar *)gObjectList.findObject(uuid);
if( avatarp )
if (avatarp)
{
avatarp->processAvatarAppearance( mesgsys );
}

View File

@ -777,7 +777,8 @@ void LLVOAvatarSelf::removeMissingBakedTextures()
//virtual
void LLVOAvatarSelf::updateRegion(LLViewerRegion *regionp)
{
if (regionp->getHandle() != mLastRegionHandle)
setRegion(regionp);
if (!regionp || (regionp->getHandle() != mLastRegionHandle))
{
if (mLastRegionHandle != 0)
{
@ -791,7 +792,10 @@ void LLVOAvatarSelf::updateRegion(LLViewerRegion *regionp)
max = llmax(delta, max);
LLViewerStats::getInstance()->setStat(LLViewerStats::ST_CROSSING_MAX, max);
}
mLastRegionHandle = regionp->getHandle();
if (regionp)
{
mLastRegionHandle = regionp->getHandle();
}
}
mRegionCrossingTimer.reset();
}

View File

@ -647,7 +647,7 @@ void LLWearable::writeToAvatar()
{
LLVOAvatarSelf* avatarp = gAgent.getAvatarObject();
llassert(avatarp);
if(!avatarp)
if (!avatarp)
{
llerrs << "could not get avatar object to write to for wearable " << this->getName() << llendl;
return;
@ -709,7 +709,7 @@ void LLWearable::removeFromAvatar( EWearableType type, BOOL upload_bake )
{
LLVOAvatarSelf* avatarp = gAgent.getAvatarObject();
llassert(avatarp);
if(!avatarp)
if (!avatarp)
{
return;
}
@ -753,7 +753,7 @@ void LLWearable::copyDataFrom(const LLWearable* src)
{
LLVOAvatarSelf* avatarp = gAgent.getAvatarObject();
llassert(avatarp);
if(!avatarp)
if (!avatarp)
{
return;
}