From 1fe07cfcd76884f9bf86092fc1daac67c38a5f9b Mon Sep 17 00:00:00 2001 From: Beeks Date: Thu, 2 Sep 2010 03:19:13 -0400 Subject: [PATCH] Fixes, foxes, faxes, and "oh fucks." Link and unlink buttons are now in the build menu. To facilitate this, some minor elements were adjusted, and the edit boxes were re-aligned. Emerald's layout was pretty sloppy anyway. More fiddling with the windlight menu, and more dead ends. Expect at least one more update before night's end to implement the features coming in from the merge. Signed-off-by: Beeks --- indra/newview/app_settings/settings.xml | 16 ++-- indra/newview/llagent.cpp | 6 +- indra/newview/llagent.h | 4 +- indra/newview/lloverlaybar.cpp | 3 +- indra/newview/llpanelobject.cpp | 21 ++++- indra/newview/llpanelobject.h | 15 ++- indra/newview/llvoavatar.cpp | 2 +- .../skins/default/xui/en-us/floater_tools.xml | 91 ++++++++++--------- indra/newview/wlfPanel_AdvSettings.cpp | 3 + 9 files changed, 98 insertions(+), 63 deletions(-) diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml index 10938d9cc..50d42d8ff 100644 --- a/indra/newview/app_settings/settings.xml +++ b/indra/newview/app_settings/settings.xml @@ -26,7 +26,7 @@ AscentAvatarZModifier - + Comment Avatar position modifier (Z) Persist 1 @@ -86,7 +86,7 @@ Persist 1 Type - S32 + F32 Value 100 @@ -128,33 +128,33 @@ Comment idfk Persist - 0 + 1 Type F32 Value - 0.0 + 50.0 AscentBuildPrefs_PivotY Comment idfk Persist - 0 + 1 Type F32 Value - 0.0 + 50.0 AscentBuildPrefs_PivotZ Comment idfk Persist - 0 + 1 Type F32 Value - 0.0 + 50.0 AscentCmdLine diff --git a/indra/newview/llagent.cpp b/indra/newview/llagent.cpp index e83e1c713..fa88cdb39 100644 --- a/indra/newview/llagent.cpp +++ b/indra/newview/llagent.cpp @@ -241,6 +241,7 @@ std::string LLAgent::lure_maturity; // BOOL LLAgent::exlPhantom = 0; +BOOL LLAgent::mForceTPose = 0; LLVector3 LLAgent::exlStartMeasurePoint = LLVector3::zero; LLVector3 LLAgent::exlEndMeasurePoint = LLVector3::zero; @@ -1561,7 +1562,7 @@ BOOL LLAgent::calcCameraMinDistance(F32 &obj_min_distance) */ BOOL soft_limit = FALSE; // is the bounding box to be treated literally (volumes) or as an approximation (avatars) - if (!mFocusObject || mFocusObject->isDead()) + if (!mFocusObject || mFocusObject->isDead() || gSavedSettings.getBOOL("DisableCameraConstraints")) { obj_min_distance = 0.f; return TRUE; @@ -3646,7 +3647,8 @@ F32 LLAgent::calcCameraFOVZoomFactor() // don't FOV zoom on mostly transparent objects LLVector3 focus_offset = mFocusObjectOffset; F32 obj_min_dist = 0.f; - calcCameraMinDistance(obj_min_dist); + if (!gSavedSettings.getBOOL("AscentDisableMinZoomDist")) + calcCameraMinDistance(obj_min_dist); F32 current_distance = llmax(0.001f, camera_offset_dir.magVec()); mFocusObjectDist = obj_min_dist - current_distance; diff --git a/indra/newview/llagent.h b/indra/newview/llagent.h index 10e9f1a2c..cb99803fd 100644 --- a/indra/newview/llagent.h +++ b/indra/newview/llagent.h @@ -414,8 +414,8 @@ public: static void setPhantom(BOOL phantom); static void togglePhantom(); - static BOOL isTPosed() { return mForceTPose; }; - static void setTPosed(BOOL TPose) { mForceTPose = TPose }; + static BOOL isTPosed() { return mForceTPose; } + static void setTPosed(BOOL TPose) { mForceTPose = TPose; } static void toggleTPosed(); // Does this parcel allow you to fly? diff --git a/indra/newview/lloverlaybar.cpp b/indra/newview/lloverlaybar.cpp index 73dc83c4a..5faa78a9e 100644 --- a/indra/newview/lloverlaybar.cpp +++ b/indra/newview/lloverlaybar.cpp @@ -137,9 +137,10 @@ LLOverlayBar::LLOverlayBar() bool updateAdvSettingsPopup(const LLSD &data) { + LLOverlayBar::sAdvSettingsPopup = gSavedSettings.getBOOL("wlfAdvSettingsPopup"); gOverlayBar->childSetVisible("AdvSettings_container", !LLOverlayBar::sAdvSettingsPopup); gOverlayBar->childSetVisible("AdvSettings_container_exp", LLOverlayBar::sAdvSettingsPopup); - return false; + return true; } bool updateChatVisible(const LLSD &data) diff --git a/indra/newview/llpanelobject.cpp b/indra/newview/llpanelobject.cpp index bc103b913..eba90c89d 100644 --- a/indra/newview/llpanelobject.cpp +++ b/indra/newview/llpanelobject.cpp @@ -190,6 +190,11 @@ BOOL LLPanelObject::postBuild() mCtrlRotZ = getChild("Rot Z"); childSetCommitCallback("Rot Z",onCommitRotation,this); + mBtnLinkObj = getChild("link_obj"); + childSetAction("link_obj",onLinkObj, this); + mBtnUnlinkObj = getChild("unlink_obj"); + childSetAction("unlink_obj",onUnlinkObj, this); + mBtnCopyPos = getChild("copypos"); childSetAction("copypos",onCopyPos, this); mBtnPastePos = getChild("pastepos"); @@ -467,7 +472,7 @@ void LLPanelObject::getState( ) BOOL enable_move = objectp->permMove() && !objectp->isAttachment() && (objectp->permModify() || !gSavedSettings.getBOOL("EditLinkedParts")); BOOL enable_scale = objectp->permMove() && objectp->permModify(); BOOL enable_rotate = objectp->permMove() && ( (objectp->permModify() && !objectp->isAttachment()) || !gSavedSettings.getBOOL("EditLinkedParts")); - + BOOL enable_link = objectp->permMove() && !objectp->isAttachment() && (objectp->permModify() || !gSavedSettings.getBOOL("EditLinkedParts")); S32 selected_count = LLSelectMgr::getInstance()->getSelection()->getObjectCount(); BOOL single_volume = (LLSelectMgr::getInstance()->selectionAllPCode( LL_PCODE_VOLUME )) && (selected_count == 1); @@ -514,6 +519,8 @@ void LLPanelObject::getState( ) mCtrlPosX->setEnabled(enable_move); mCtrlPosY->setEnabled(enable_move); mCtrlPosZ->setEnabled(enable_move); + mBtnLinkObj->setEnabled((enable_link && !single_volume)); + mBtnUnlinkObj->setEnabled((enable_link && (selected_count > 1))); mBtnCopyPos->setEnabled(enable_move); mBtnPastePos->setEnabled(enable_move); mBtnPastePosClip->setEnabled(enable_move); @@ -2587,6 +2594,18 @@ void LLPanelObject::onPasteParams(void* user_data) self->mObject->updateVolume(mClipboardVolumeParams); } +void LLPanelObject::onLinkObj(void* user_data) +{ + llinfos << "Attempting link." << llendl; + LLSelectMgr::getInstance()->sendLink(); +} + +void LLPanelObject::onUnlinkObj(void* user_data) +{ + llinfos << "Attempting unlink." << llendl; + LLSelectMgr::getInstance()->sendDelink(); +} + void LLPanelObject::onPastePos(void* user_data) { if(mClipboardPos.isNull()) return; diff --git a/indra/newview/llpanelobject.h b/indra/newview/llpanelobject.h index e20867113..daa13412b 100644 --- a/indra/newview/llpanelobject.h +++ b/indra/newview/llpanelobject.h @@ -74,17 +74,19 @@ public: static void onCommitPhantom( LLUICtrl* ctrl, void* userdata); static void onCommitCastShadows( LLUICtrl* ctrl, void* userdata); + static void onLinkObj( void* user_data); + static void onUnlinkObj( void* user_data); static void onCopyPos( void* user_data); static void onPastePos( void* user_data); - static void onPastePosClip( void* user_data); + static void onPastePosClip( void* user_data); static void onCopySize( void* user_data); static void onPasteSize( void* user_data); - static void onPasteSizeClip( void* user_data); + static void onPasteSizeClip( void* user_data); static void onCopyRot( void* user_data); static void onPasteRot( void* user_data); - static void onPasteRotClip( void* user_data); - static void onCopyParams( void* user_data); - static void onPasteParams( void* user_data); + static void onPasteRotClip( void* user_data); + static void onCopyParams( void* user_data); + static void onPasteParams( void* user_data); static void onCommitParametric( LLUICtrl* ctrl, void* userdata); @@ -183,6 +185,9 @@ protected: LLSpinCtrl* mCtrlRotY; LLSpinCtrl* mCtrlRotZ; + LLButton *mBtnLinkObj; + LLButton *mBtnUnlinkObj; + LLButton *mBtnCopyPos; LLButton *mBtnPastePos; LLButton *mBtnPastePosClip; diff --git a/indra/newview/llvoavatar.cpp b/indra/newview/llvoavatar.cpp index 5311eb0ea..95a1c9d7d 100644 --- a/indra/newview/llvoavatar.cpp +++ b/indra/newview/llvoavatar.cpp @@ -5565,7 +5565,7 @@ void LLVOAvatar::processAnimationStateChanges() { LLMemType mt(LLMemType::MTYPE_AVATAR); - if (gNoRender)//||mLockTPose) (For future use -HGB) + if ((gNoRender)||(gAgent.isTPosed())) //isTPosed is meant to stop animation updates while force-TPosed. { return; } diff --git a/indra/newview/skins/default/xui/en-us/floater_tools.xml b/indra/newview/skins/default/xui/en-us/floater_tools.xml index 1dabf01da..7c71dc508 100644 --- a/indra/newview/skins/default/xui/en-us/floater_tools.xml +++ b/indra/newview/skins/default/xui/en-us/floater_tools.xml @@ -597,80 +597,79 @@ bottom="-20" drop_shadow_visible="true" follows="left|top" font="SansSerifSmall" h_pad="0" halign="left" height="10" left="10" mouse_opaque="true" name="select_single" v_pad="0" width="252"> - Select only one primitive to edit parameters. - - - Edit object parameters: +