diff --git a/indra/llmath/lloctree.h b/indra/llmath/lloctree.h index d4aa7fc35c..e2187ed24c 100755 --- a/indra/llmath/lloctree.h +++ b/indra/llmath/lloctree.h @@ -36,6 +36,8 @@ extern U32 gOctreeMaxCapacity; +extern float gOctreeMinSize; + /*#define LL_OCTREE_PARANOIA_CHECK 0 #if LL_DARWIN #define LL_OCTREE_MAX_CAPACITY 32 @@ -106,6 +108,7 @@ public: : mParent((oct_node*)parent), mOctant(octant) { + llassert(size[0] >= gOctreeMinSize*0.5f); //always keep a NULL terminated list to avoid out of bounds exceptions in debug builds mData.push_back(NULL); mDataEnd = &mData[0]; @@ -213,7 +216,7 @@ public: F32 size = mSize[0]; F32 p_size = size * 2.f; - return (radius <= 0.001f && size <= 0.001f) || + return (radius <= gOctreeMinSize && size <= gOctreeMinSize) || (radius <= p_size && radius > size); } @@ -319,7 +322,7 @@ public: //is it here? if (isInside(data->getPositionGroup())) { - if (((getElementCount() < gOctreeMaxCapacity && contains(data->getBinRadius())) || + if (((getElementCount() < gOctreeMaxCapacity || getSize()[0] <= gOctreeMinSize) && contains(data->getBinRadius()) || (data->getBinRadius() > getSize()[0] && parent && parent->getElementCount() >= gOctreeMaxCapacity))) { //it belongs here mData.push_back(NULL); @@ -356,8 +359,9 @@ public: LLVector4a val; val.setSub(center, getCenter()); val.setAbs(val); - - S32 lt = val.lessThan(LLVector4a::getEpsilon()).getGatheredBits() & 0x7; + LLVector4a min_diff(gOctreeMinSize); + + S32 lt = val.lessThan(min_diff).getGatheredBits() & 0x7; if( lt == 0x7 ) { @@ -389,6 +393,7 @@ public: } #endif + llassert(size[0] >= gOctreeMinSize*0.5f); //make the new kid child = new LLOctreeNode(center, size, this); addChild(child); @@ -798,6 +803,8 @@ public: this->setSize(size2); this->updateMinMax(); + llassert(size[0] >= gOctreeMinSize); + //copy our children to a new branch LLOctreeNode* newnode = new LLOctreeNode(center, size, this); diff --git a/indra/llwindow/llopenglview-objc.mm b/indra/llwindow/llopenglview-objc.mm index 85f34af047..7d258ac9a3 100644 --- a/indra/llwindow/llopenglview-objc.mm +++ b/indra/llwindow/llopenglview-objc.mm @@ -94,8 +94,11 @@ attributedStringInfo getSegments(NSAttributedString *str) // Force a high quality update after live resizing - (void) viewDidEndLiveResize { - NSSize size = [self frame].size; - callResize(size.width, size.height); + if (NSAppKitVersionNumber < NSAppKitVersionNumber10_7) + { + NSSize size = [self frame].size; + callResize(size.width, size.height); + } } - (unsigned long)getVramSize @@ -126,8 +129,11 @@ attributedStringInfo getSegments(NSAttributedString *str) - (void)windowResized:(NSNotification *)notification; { - //NSSize size = [self frame].size; - //callResize(size.width, size.height); + if (NSAppKitVersionNumber >= NSAppKitVersionNumber10_7) + { + NSSize size = [self frame].size; + callResize(size.width, size.height); + } } - (void)dealloc diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml index 18e225dd9f..519cc60f92 100644 --- a/indra/newview/app_settings/settings.xml +++ b/indra/newview/app_settings/settings.xml @@ -10321,6 +10321,18 @@ Change of this parameter will affect the layout of buttons in notification toast 0 + OctreeMinimumNodeSize + + Comment + Minimum size of any octree node + Persist + 1 + Type + F32 + Value + 0.01 + + OctreeStaticObjectSizeFactor Comment diff --git a/indra/newview/app_settings/settings_per_account.xml b/indra/newview/app_settings/settings_per_account.xml index 09407572f4..06ed61826c 100755 --- a/indra/newview/app_settings/settings_per_account.xml +++ b/indra/newview/app_settings/settings_per_account.xml @@ -577,6 +577,17 @@ Value 0 + FSKeywordCaseSensitive + + Comment + Keywords are case-sensitive + Persist + 1 + Type + Boolean + Value + 0 + FSKeywords Comment @@ -656,7 +667,18 @@ UseMoveLock Comment - Use the client LSL bridge for movelock + Use the client LSL Bridge for movelock + Persist + 1 + Type + Boolean + Value + 0 + + RelockMoveLockAfterMovement + + Comment + If movelock built-in into LSL Bridge is active, then lock and unlock position after stopping or starting movement Persist 1 Type diff --git a/indra/newview/app_settings/shaders/class1/deferred/diffuseSkinnedV.glsl b/indra/newview/app_settings/shaders/class1/deferred/diffuseSkinnedV.glsl index a74290bfcd..2487110624 100755 --- a/indra/newview/app_settings/shaders/class1/deferred/diffuseSkinnedV.glsl +++ b/indra/newview/app_settings/shaders/class1/deferred/diffuseSkinnedV.glsl @@ -40,7 +40,7 @@ mat4 getObjectSkinnedTransform(); void main() { vary_texcoord0 = (texture_matrix0 * vec4(texcoord0,0,1)).xy; - + mat4 mat = getObjectSkinnedTransform(); mat = modelview_matrix * mat; diff --git a/indra/newview/fs_resources/EBEDD1D2-A320-43f5-88CF-DD47BBCA5DFB.lsltxt b/indra/newview/fs_resources/EBEDD1D2-A320-43f5-88CF-DD47BBCA5DFB.lsltxt index d1f1cee843..1e9dd2ab84 100644 --- a/indra/newview/fs_resources/EBEDD1D2-A320-43f5-88CF-DD47BBCA5DFB.lsltxt +++ b/indra/newview/fs_resources/EBEDD1D2-A320-43f5-88CF-DD47BBCA5DFB.lsltxt @@ -1,4 +1,4 @@ -//http bridge script v.2.8 +//http bridge script v.2.9 //Firestorm //Tozh Taurog, Arrehn Oberlander, Tonya Souther @@ -19,7 +19,7 @@ integer UNKNOWN_VIEWER = 1; integer META_CONTROL = 1024; // Control value to do nothing; for no-script sims string bridgeAuth = "BRIDGEKEY"; // Filled in dynamically - string bridgeVersion = "2.8"; // This should match fslslbridge.cpp + string bridgeVersion = "2.9"; // This should match fslslbridge.cpp string bridgeURL; string latestURL; integer debug = FALSE; @@ -55,6 +55,8 @@ // Movelock integer useMoveLock = FALSE; + integer relockMoveLockAfterMovement = FALSE; + integer relockIsUserMoving = FALSE; // Flight assist float MIN_SPEED = 2.0; @@ -132,7 +134,7 @@ if (llGetAttached() != 0) { - llRequestPermissions(llGetOwner(),PERMISSION_TAKE_CONTROLS); + llRequestPermissions(owner, PERMISSION_TAKE_CONTROLS); } // Assume the worst and let the viewer convince us otherwise @@ -148,6 +150,13 @@ // Check the state of movelock, relock if needed if (useMoveLock) { + if (relockMoveLockAfterMovement) + { + if (llGetAttached()) + { + request_control_perms(); + } + } //debugOutput("Movelock true, going to movelock_init"); movelock_init(); } @@ -316,6 +325,18 @@ llStopMoveToTarget(); } } + else if (cmd == "RelockMoveLockAfterMovement") + { + //debugOutput("Parsing params: " + llList2String(commandList, 1)); + relockMoveLockAfterMovement = llList2Integer(commandList, 1); + if (relockMoveLockAfterMovement) + { + if (llGetAttached()) + { + request_control_perms(); + } + } + } } @@ -633,14 +654,9 @@ reportTag(key av, integer tagIdx) last_time = time; } - flight_take_controls() + request_control_perms() { - llTakeControls(CONTROL_UP|CONTROL_DOWN, TRUE, TRUE); - } - - flight_request_perms() - { - flight_take_controls(); + llTakeControls(CONTROL_FWD | CONTROL_BACK | CONTROL_LEFT | CONTROL_RIGHT | CONTROL_UP | CONTROL_DOWN, TRUE, TRUE); } flight_init() @@ -655,7 +671,7 @@ reportTag(key av, integer tagIdx) falling = -1; hovering = -1; if (llGetAttached()) - flight_request_perms(); + request_control_perms(); flight_set_tick(SLOW_TICK); } @@ -695,7 +711,7 @@ default on_rez(integer i) { // We don't want to be rezzed without being attached. Insure we don't create litter. - llSetPrimitiveParams([PRIM_TEMP_ON_REZ, TRUE]); + llSetLinkPrimitiveParamsFast(LINK_SET, [PRIM_TEMP_ON_REZ, TRUE]); // Force Movelock variable to false here and allow attach() to decide via initBridge(), if we're on Firestorm and login relock can be turned off if needed. // on_rez() will be triggered prior to attach() when attaching from inventory or during login, but not prior to state_entry(). useMoveLock = FALSE; @@ -720,8 +736,10 @@ default { if (i) { - if (useFlightAssist) - flight_take_controls(); + if (useFlightAssist || useMoveLock) + { + request_control_perms(); + } else { // Take control for value that does nothing, in order to work in no-script sims @@ -732,6 +750,24 @@ default control(key id, integer level, integer edge) { + + if (useMoveLock && relockMoveLockAfterMovement) + { + if (level & (CONTROL_FWD | CONTROL_BACK | CONTROL_LEFT | CONTROL_RIGHT | CONTROL_UP | CONTROL_DOWN)) + { + if (relockIsUserMoving == FALSE) + { + relockIsUserMoving = TRUE; + llStopMoveToTarget(); + } + } + else if (relockIsUserMoving == TRUE) + { + relockIsUserMoving = FALSE; + movelock_init(); + } + } + if ((llGetAgentInfo(owner) & AGENT_FLYING) && useFlightAssist) { controls = 0; @@ -740,6 +776,7 @@ default if (controls > 0) flight_check_boost(); } + } changed(integer change) diff --git a/indra/newview/fskeywords.cpp b/indra/newview/fskeywords.cpp index 333c679594..eb95bb9cc6 100644 --- a/indra/newview/fskeywords.cpp +++ b/indra/newview/fskeywords.cpp @@ -40,6 +40,7 @@ FSKeywords::FSKeywords() { gSavedPerAccountSettings.getControl("FSKeywords")->getSignal()->connect(boost::bind(&FSKeywords::updateKeywords, this)); + gSavedPerAccountSettings.getControl("FSKeywordCaseSensitive")->getSignal()->connect(boost::bind(&FSKeywords::updateKeywords, this)); updateKeywords(); } @@ -50,7 +51,10 @@ FSKeywords::~FSKeywords() void FSKeywords::updateKeywords() { std::string s = gSavedPerAccountSettings.getString("FSKeywords"); - LLStringUtil::toLower(s); + if (!gSavedPerAccountSettings.getBOOL("FSKeywordCaseSensitive")) + { + LLStringUtil::toLower(s); + } boost::regex re(","); boost::sregex_token_iterator begin(s.begin(), s.end(), re, -1), end; mWordList.clear(); @@ -65,13 +69,17 @@ bool FSKeywords::chatContainsKeyword(const LLChat& chat, bool is_local) static LLCachedControl sFSKeywordOn(gSavedPerAccountSettings, "FSKeywordOn", false); static LLCachedControl sFSKeywordInChat(gSavedPerAccountSettings, "FSKeywordInChat", false); static LLCachedControl sFSKeywordInIM(gSavedPerAccountSettings, "FSKeywordInIM", false); + static LLCachedControl sFSKeywordCaseSensitive(gSavedPerAccountSettings, "FSKeywordCaseSensitive", false); if (!sFSKeywordOn || (is_local && !sFSKeywordInChat) || (!is_local && !sFSKeywordInIM)) return FALSE; std::string source(chat.mText); - LLStringUtil::toLower(source); + if (!sFSKeywordCaseSensitive) + { + LLStringUtil::toLower(source); + } for(U32 i=0; i < mWordList.size(); i++) { diff --git a/indra/newview/fslslbridge.cpp b/indra/newview/fslslbridge.cpp index d0c383dce6..21df01a93a 100644 --- a/indra/newview/fslslbridge.cpp +++ b/indra/newview/fslslbridge.cpp @@ -67,10 +67,10 @@ const std::string FS_BRIDGE_FOLDER = "#LSL Bridge"; const std::string FS_BRIDGE_CONTAINER_FOLDER = "Landscaping"; const U32 FS_BRIDGE_MAJOR_VERSION = 2; -const U32 FS_BRIDGE_MINOR_VERSION = 8; +const U32 FS_BRIDGE_MINOR_VERSION = 9; const U32 FS_MAX_MINOR_VERSION = 99; -//current script version is 2.8 +//current script version is 2.9 const std::string UPLOAD_SCRIPT_CURRENT = "EBEDD1D2-A320-43f5-88CF-DD47BBCA5DFB.lsltxt"; // @@ -221,6 +221,7 @@ bool FSLSLBridge::lslToViewer(const std::string& message, const LLUUID& fromID, //then check options use updateBoolSettingValue("UseLSLFlightAssist"); updateBoolSettingValue("UseMoveLock"); + updateBoolSettingValue("RelockMoveLockAfterMovement"); updateBoolSettingValue("FSPublishRadarTag"); mIsFirstCallDone = true; diff --git a/indra/newview/lldrawpoolavatar.cpp b/indra/newview/lldrawpoolavatar.cpp index 79d9c2adc6..47f530b65f 100755 --- a/indra/newview/lldrawpoolavatar.cpp +++ b/indra/newview/lldrawpoolavatar.cpp @@ -1623,6 +1623,17 @@ void LLDrawPoolAvatar::getRiggedGeometry(LLFace* face, LLPointer face->setPoolType(LLDrawPool::POOL_AVATAR); } + //let getGeometryVolume know if a texture matrix is in play + if (face->mTextureMatrix) + { + face->setState(LLFace::TEXTURE_ANIM); + } + else + { + face->clearState(LLFace::TEXTURE_ANIM); + } + + //llinfos << "Rebuilt face " << face->getTEOffset() << " of " << face->getDrawable() << " at " << gFrameTimeSeconds << llendl; face->getGeometryVolume(*volume, face->getTEOffset(), mat_vert, mat_normal, offset, true); diff --git a/indra/newview/llface.cpp b/indra/newview/llface.cpp index bfa2db8bff..d6432f968d 100755 --- a/indra/newview/llface.cpp +++ b/indra/newview/llface.cpp @@ -1656,7 +1656,7 @@ BOOL LLFace::getGeometryVolume(const LLVolume& volume, do_xform = false; } - if (getVirtualSize() >= MIN_TEX_ANIM_SIZE) + if (getVirtualSize() >= MIN_TEX_ANIM_SIZE || isState(LLFace::RIGGED)) { //don't override texture transform during tc bake tex_mode = 0; } diff --git a/indra/newview/llfloaterpreference.cpp b/indra/newview/llfloaterpreference.cpp index 1a6a62c368..e285331f50 100644 --- a/indra/newview/llfloaterpreference.cpp +++ b/indra/newview/llfloaterpreference.cpp @@ -220,6 +220,7 @@ bool callback_clear_cache(const LLSD& notification, const LLSD& response); bool callback_clear_inventory_cache(const LLSD& notification, const LLSD& response); void handleFlightAssistOptionChanged(const LLSD& newvalue); void handleMovelockOptionChanged(const LLSD& newvalue); +void handleMovelockAfterMoveOptionChanged(const LLSD& newvalue); bool callback_clear_settings(const LLSD& notification, const LLSD& response); // bool callback_clear_debug_search(const LLSD& notification, const LLSD& response); diff --git a/indra/newview/llloginhandler.cpp b/indra/newview/llloginhandler.cpp index da52ac408c..854d9d785b 100755 --- a/indra/newview/llloginhandler.cpp +++ b/indra/newview/llloginhandler.cpp @@ -200,5 +200,9 @@ LLPointer LLLoginHandler::loadSavedUserLoginInfo() return gSecAPIHandler->createCredential(identifier["first_name"].asString() + " " + identifier["last_name"].asString() + "@" +LLGridManager::getInstance()->getGrid(), identifier, authenticator); } - return NULL; + // Fix --autologin by loading the currently selected credentials if the above fails. + // UserLoginInfo contains "First Last @ Grid" and gets set in LLPanelLogin::onClickConnect() + // return NULL; + return gSecAPIHandler->loadCredential(gSavedSettings.getLLSD("UserLoginInfo")); + // } diff --git a/indra/newview/llspatialpartition.cpp b/indra/newview/llspatialpartition.cpp index acde80dc40..0f2473a33e 100755 --- a/indra/newview/llspatialpartition.cpp +++ b/indra/newview/llspatialpartition.cpp @@ -80,6 +80,7 @@ U32 LLSpatialGroup::sNodeCount = 0; std::set LLSpatialGroup::sPendingQueries; U32 gOctreeMaxCapacity; +F32 gOctreeMinSize; BOOL LLSpatialGroup::sNoDelete = FALSE; diff --git a/indra/newview/llviewercontrol.cpp b/indra/newview/llviewercontrol.cpp index af83bd8227..01a7d863af 100755 --- a/indra/newview/llviewercontrol.cpp +++ b/indra/newview/llviewercontrol.cpp @@ -410,6 +410,7 @@ static bool handleRepartition(const LLSD&) if (gPipeline.isInit()) { gOctreeMaxCapacity = gSavedSettings.getU32("OctreeMaxNodeCapacity"); + gOctreeMinSize = gSavedSettings.getF32("OctreeMinimumNodeSize"); gObjectList.repartitionObjects(); } return true; @@ -758,6 +759,11 @@ static void handleMovelockOptionChanged(const LLSD& newvalue) { FSLSLBridge::instance().updateBoolSettingValue("UseMoveLock", newvalue.asBoolean()); } +static void handleMovelockAfterMoveOptionChanged(const LLSD& newvalue) +{ + FSLSLBridge::instance().updateBoolSettingValue("RelockMoveLockAfterMovement", newvalue.asBoolean()); +} +// static void handleDecimalPrecisionChanged(const LLSD& newvalue) { @@ -767,7 +773,6 @@ static void handleDecimalPrecisionChanged(const LLSD& newvalue) build_tools->changePrecision(newvalue); } } -// //////////////////////////////////////////////////////////////////////////// @@ -959,6 +964,7 @@ void settings_setup_listeners() gSavedPerAccountSettings.getControl("UseLSLFlightAssist")->getCommitSignal()->connect(boost::bind(&handleFlightAssistOptionChanged, _2)); gSavedPerAccountSettings.getControl("FSPublishRadarTag")->getCommitSignal()->connect(boost::bind(&handlePublishRadarTagOptionChanged, _2)); gSavedPerAccountSettings.getControl("UseMoveLock")->getCommitSignal()->connect(boost::bind(&handleMovelockOptionChanged, _2)); + gSavedPerAccountSettings.getControl("RelockMoveLockAfterMovement")->getCommitSignal()->connect(boost::bind(&handleMovelockAfterMoveOptionChanged, _2)); gSavedSettings.getControl("FSBuildToolDecimalPrecision")->getCommitSignal()->connect(boost::bind(&handleDecimalPrecisionChanged, _2)); } diff --git a/indra/newview/llviewermenu.cpp b/indra/newview/llviewermenu.cpp index e6f5352fc7..f3988e20d7 100755 --- a/indra/newview/llviewermenu.cpp +++ b/indra/newview/llviewermenu.cpp @@ -4306,6 +4306,7 @@ class FSSelfToggleMoveLock : public view_listener_t { if (LLGridManager::getInstance()->isInSecondLife()) { + make_ui_sound("UISndAlert"); bool new_value = !gSavedPerAccountSettings.getBOOL("UseMoveLock"); gSavedPerAccountSettings.setBOOL("UseMoveLock", new_value); if (new_value) diff --git a/indra/newview/llviewertexteditor.cpp b/indra/newview/llviewertexteditor.cpp index a9c55314aa..dce916b445 100755 --- a/indra/newview/llviewertexteditor.cpp +++ b/indra/newview/llviewertexteditor.cpp @@ -222,6 +222,13 @@ public: // [/SL:KB] mHasMouseHover(false) { + // Handle NULL pointers in mImage gracefully + if(!mImage) + { + LL_WARNS("UI") << "NULL Image pointer for text segment of embedded inventory." << LL_ENDL; + mImage=LLUI::getUIImage("Unknown_Icon"); + } + // mStyle = new LLStyle(LLStyle::Params().font(LLFontGL::getFontSansSerif())); mToolTip = inv_item->getName() + '\n' + inv_item->getDescription(); @@ -631,7 +638,13 @@ LLUIImagePtr LLEmbeddedItems::getItemImage(llwchar ext_char) const case LLAssetType::AT_ANIMATION: img_name = "Inv_Animation"; break; case LLAssetType::AT_GESTURE: img_name = "Inv_Gesture"; break; case LLAssetType::AT_MESH: img_name = "Inv_Mesh"; break; - default: llassert(0); + // Don't crash, try to recover gracefully + // default: llassert(0); + default: + img_name = "Unknown_Icon"; + LL_WARNS("UI") << "Unknown asset type " << item->getType() << " for text segment of embedded inventory." << LL_ENDL; + break; + // } return LLUI::getUIImage(img_name); diff --git a/indra/newview/llviewerwindow.cpp b/indra/newview/llviewerwindow.cpp index ce330f3e37..56020e600a 100644 --- a/indra/newview/llviewerwindow.cpp +++ b/indra/newview/llviewerwindow.cpp @@ -3648,7 +3648,8 @@ void LLViewerWindow::updateUI() updateLayout(); - saveLastMouse(mCurrentMousePoint); + // Backout MAINT-3250 + mLastMousePoint = mCurrentMousePoint; // cleanup unused selections when no modal dialogs are open if (LLModalDialog::activeCount() == 0) @@ -3890,7 +3891,8 @@ void LLViewerWindow::saveLastMouse(const LLCoordGL &point) // Store last mouse location. // If mouse leaves window, pretend last point was on edge of window - mLastMousePoint = mCurrentMousePoint; + // Backout MAINT-3250 + //mLastMousePoint = mCurrentMousePoint; if (point.mX < 0) { diff --git a/indra/newview/llworldmapview.cpp b/indra/newview/llworldmapview.cpp index 53ec199ce1..7e7fe5432b 100755 --- a/indra/newview/llworldmapview.cpp +++ b/indra/newview/llworldmapview.cpp @@ -1696,6 +1696,16 @@ void LLWorldMapView::handleClick(S32 x, S32 y, MASK mask, } +// Backout MAINT-3250 +BOOL outside_slop(S32 x, S32 y, S32 start_x, S32 start_y) +{ + S32 dx = x - start_x; + S32 dy = y - start_y; + + return (dx <= -2 || 2 <= dx || dy <= -2 || 2 <= dy); +} +// + BOOL LLWorldMapView::handleMouseDown( S32 x, S32 y, MASK mask ) { gFocusMgr.setMouseCapture( this ); @@ -1778,7 +1788,10 @@ BOOL LLWorldMapView::handleHover( S32 x, S32 y, MASK mask ) { if (hasMouseCapture()) { - if (mPanning || llabs(x - mMouseDownX) > 1 || llabs(y - mMouseDownY) > 1) + // Backout MAINT-3250 + //if (mPanning || llabs(x - mMouseDownX) > 1 || llabs(y - mMouseDownY) > 1) + if (mPanning || outside_slop(x, y, mMouseDownX, mMouseDownY)) + // { // just started panning, so hide cursor if (!mPanning) @@ -1795,6 +1808,9 @@ BOOL LLWorldMapView::handleHover( S32 x, S32 y, MASK mask ) sPanY += delta_y; sTargetPanX = sPanX; sTargetPanY = sPanY; + + // Backout MAINT-3250 + gViewerWindow->moveCursorToCenter(); } // doesn't matter, cursor should be hidden diff --git a/indra/newview/pipeline.cpp b/indra/newview/pipeline.cpp index a005bb0702..455dc55181 100755 --- a/indra/newview/pipeline.cpp +++ b/indra/newview/pipeline.cpp @@ -506,6 +506,7 @@ void LLPipeline::init() refreshCachedSettings(); gOctreeMaxCapacity = gSavedSettings.getU32("OctreeMaxNodeCapacity"); + gOctreeMinSize = gSavedSettings.getF32("OctreeMinimumNodeSize"); sDynamicLOD = gSavedSettings.getBOOL("RenderDynamicLOD"); sRenderBump = gSavedSettings.getBOOL("RenderObjectBump"); sUseTriStrips = gSavedSettings.getBOOL("RenderUseTriStrips"); diff --git a/indra/newview/skins/default/xui/de/menu_inventory_add.xml b/indra/newview/skins/default/xui/de/menu_inventory_add.xml index 831b49a80e..75d63de096 100755 --- a/indra/newview/skins/default/xui/de/menu_inventory_add.xml +++ b/indra/newview/skins/default/xui/de/menu_inventory_add.xml @@ -8,6 +8,7 @@ + diff --git a/indra/newview/skins/default/xui/de/panel_preferences_chat.xml b/indra/newview/skins/default/xui/de/panel_preferences_chat.xml index f4421526ac..63a9e90b2f 100755 --- a/indra/newview/skins/default/xui/de/panel_preferences_chat.xml +++ b/indra/newview/skins/default/xui/de/panel_preferences_chat.xml @@ -249,6 +249,7 @@ + Schlüsselwörter (getrennt durch Komma): diff --git a/indra/newview/skins/default/xui/de/panel_preferences_move.xml b/indra/newview/skins/default/xui/de/panel_preferences_move.xml index 5c3b68abd1..c80c110aa4 100755 --- a/indra/newview/skins/default/xui/de/panel_preferences_move.xml +++ b/indra/newview/skins/default/xui/de/panel_preferences_move.xml @@ -43,7 +43,11 @@ + + Falls Movelock in der LSL-Brücke aktiviert ist... + + Einfacher Klick auf Land: diff --git a/indra/newview/skins/default/xui/en/exo_panel_flickr_settings.xml b/indra/newview/skins/default/xui/en/exo_panel_flickr_settings.xml index 1fe4318e43..fa3b19bc4b 100644 --- a/indra/newview/skins/default/xui/en/exo_panel_flickr_settings.xml +++ b/indra/newview/skins/default/xui/en/exo_panel_flickr_settings.xml @@ -155,11 +155,12 @@ length="1" height="14" layout="topleft" - left_pad="-5" + left="95" + top="50" halign="left" name="image_quality_level" top_delta="0" - width="80"> + width="115"> ([QLVL]) diff --git a/indra/newview/skins/default/xui/en/menu_inventory_add.xml b/indra/newview/skins/default/xui/en/menu_inventory_add.xml index 16df5612ab..c1d21f332e 100755 --- a/indra/newview/skins/default/xui/en/menu_inventory_add.xml +++ b/indra/newview/skins/default/xui/en/menu_inventory_add.xml @@ -70,6 +70,14 @@ function="Floater.Toggle" parameter="perm_prefs" /> + + + + - + + If movelock built-in into LSL Bridge is active... + + + + + + top_pad="20"> Single click on land: @@ -504,7 +529,7 @@ label="Joystick Configuration" left="100" name="joystick_setup_button" - top_pad="5" + top_pad="15" width="155"> - + - + + - + - + @@ -26,7 +27,7 @@ - + diff --git a/indra/newview/skins/default/xui/pl/menu_viewer.xml b/indra/newview/skins/default/xui/pl/menu_viewer.xml index d4af6d945f..729f9cb432 100755 --- a/indra/newview/skins/default/xui/pl/menu_viewer.xml +++ b/indra/newview/skins/default/xui/pl/menu_viewer.xml @@ -43,7 +43,7 @@ - + @@ -207,7 +207,7 @@ - + diff --git a/indra/newview/skins/default/xui/pl/panel_preferences_chat.xml b/indra/newview/skins/default/xui/pl/panel_preferences_chat.xml index c508233001..214245a0b0 100755 --- a/indra/newview/skins/default/xui/pl/panel_preferences_chat.xml +++ b/indra/newview/skins/default/xui/pl/panel_preferences_chat.xml @@ -230,6 +230,7 @@ + Szukane słowa (oddzielone przecinkami): diff --git a/indra/newview/skins/default/xui/pl/panel_preferences_move.xml b/indra/newview/skins/default/xui/pl/panel_preferences_move.xml index fd389b699f..6d57e2018c 100755 --- a/indra/newview/skins/default/xui/pl/panel_preferences_move.xml +++ b/indra/newview/skins/default/xui/pl/panel_preferences_move.xml @@ -40,7 +40,11 @@ - + + Jeśli unieruchamianie wbudowane w Most LSL jest aktywne... + + + Pojedynczy klik na ziemi: