// ----------------------------------------------------------------------------- bool LLViewerJoystick::toggleFlycam() { if (!gSavedSettings.getBOOL("JoystickEnabled") || !gSavedSettings.getBOOL("JoystickFlycamEnabled")) { return false; } if (!mOverrideCamera) { gAgent.changeCameraToDefault(); } mOverrideCamera = !mOverrideCamera; if (mOverrideCamera) { moveFlycam(true); } else if (!LLToolMgr::getInstance()->inBuildMode()) { moveAvatar(true); } else { // we are in build mode, exiting from the flycam mode: since we are // going to keep the flycam POV for the main camera until the avatar // moves, we need to track this situation. setCameraNeedsUpdate(false); setNeedsReset(true); } return true; }
// ----------------------------------------------------------------------------- bool LLViewerJoystick::toggleFlycam() { if (!gSavedSettings.getBOOL("JoystickEnabled") || !gSavedSettings.getBOOL("JoystickFlycamEnabled")) { mOverrideCamera = false; LLPanelStandStopFlying::clearStandStopFlyingMode(LLPanelStandStopFlying::SSFM_FLYCAM); return false; } if (!mOverrideCamera) { gAgentCamera.changeCameraToDefault(); } if (gAwayTimer.getElapsedTimeF32() > LLAgent::MIN_AFK_TIME) { gAgent.clearAFK(); } mOverrideCamera = !mOverrideCamera; if (mOverrideCamera) { moveFlycam(true); LLPanelStandStopFlying::setStandStopFlyingMode(LLPanelStandStopFlying::SSFM_FLYCAM); } else { // Exiting from the flycam mode: since we are going to keep the flycam POV for // the main camera until the avatar moves, we need to track this situation. setCameraNeedsUpdate(false); setNeedsReset(true); LLPanelStandStopFlying::clearStandStopFlyingMode(LLPanelStandStopFlying::SSFM_FLYCAM); } return true; }
// ----------------------------------------------------------------------------- bool LLViewerJoystick::toggleFlycam() { if (gRlvHandler.hasBehaviour(RLV_BHVR_CAMDISTMAX) || gRlvHandler.hasBehaviour(RLV_BHVR_CAMUNLOCK) // [RLVa:LF] - @camdistmax and @camunlock mean no going away! || !gSavedSettings.getBOOL("JoystickEnabled") || !gSavedSettings.getBOOL("JoystickFlycamEnabled")) { mOverrideCamera = false; return false; } if (!mOverrideCamera) { gAgentCamera.changeCameraToDefault(); } if (gAwayTimer.getElapsedTimeF32() > MIN_AFK_TIME) { gAgent.clearAFK(); } mOverrideCamera = !mOverrideCamera; if (mOverrideCamera) { moveFlycam(true); } else if (!LLToolMgr::getInstance()->inBuildMode()) { moveAvatar(true); } else { // Exiting from the flycam mode: since we are going to keep the flycam POV for // the main camera until the avatar moves, we need to track this situation. setCameraNeedsUpdate(false); setNeedsReset(true); } return true; }