diff options
-rw-r--r-- | indra/llprimitive/llmodel.h | 5 | ||||
-rw-r--r-- | indra/newview/CMakeLists.txt | 2 | ||||
-rw-r--r-- | indra/newview/llfloatermodelpreview.cpp | 19 | ||||
-rw-r--r-- | indra/newview/llfloaterobjectweights.cpp | 99 | ||||
-rw-r--r-- | indra/newview/llfloaterobjectweights.h | 64 | ||||
-rw-r--r-- | indra/newview/llfloaterregioninfo.cpp | 52 | ||||
-rw-r--r-- | indra/newview/llfloaterregioninfo.h | 4 | ||||
-rw-r--r-- | indra/newview/llfloatertools.cpp | 3 | ||||
-rw-r--r-- | indra/newview/llmeshrepository.cpp | 11 | ||||
-rw-r--r-- | indra/newview/llviewerfloaterreg.cpp | 4 | ||||
-rw-r--r-- | indra/newview/skins/default/xui/en/floater_model_preview.xml | 114 | ||||
-rw-r--r-- | indra/newview/skins/default/xui/en/floater_object_weights.xml | 310 | ||||
-rw-r--r-- | indra/newview/skins/default/xui/en/floater_tools.xml | 2 | ||||
-rw-r--r-- | indra/newview/skins/default/xui/en/panel_region_general.xml | 12 |
14 files changed, 600 insertions, 101 deletions
diff --git a/indra/llprimitive/llmodel.h b/indra/llprimitive/llmodel.h index 4f4e642f68..b5dd9bf87d 100644 --- a/indra/llprimitive/llmodel.h +++ b/indra/llprimitive/llmodel.h @@ -148,6 +148,7 @@ public: static LLModel* loadModelFromDomMesh(domMesh* mesh); static std::string getElementLabel(daeElement* element); std::string getName() const; + std::string getMetric() const {return mMetric;} EModelStatus getStatus() const {return mStatus;} static std::string getStatusString(U32 status) ; @@ -224,7 +225,7 @@ public: bool areEqual( double a, double b ) { const float epsilon = 1e-5f; - return (abs(a - b) < epsilon) && (a < b); + return (abs((int)(a - b)) < epsilon) && (a < b); } //Make sure that we return false for any values that are within the tolerance for equivalence bool operator() ( const LLVector3& a, const LLVector3& b ) @@ -250,6 +251,8 @@ public: std::string mRequestedLabel; // name requested in UI, if any. std::string mLabel; // name computed from dae. + std::string mMetric; // user-supplied metric data for upload + LLVector3 mNormalizedScale; LLVector3 mNormalizedTranslation; diff --git a/indra/newview/CMakeLists.txt b/indra/newview/CMakeLists.txt index 6292ee97c8..f2a9ccacec 100644 --- a/indra/newview/CMakeLists.txt +++ b/indra/newview/CMakeLists.txt @@ -213,6 +213,7 @@ set(viewer_SOURCE_FILES llfloatermodelwizard.cpp llfloaternamedesc.cpp llfloaternotificationsconsole.cpp + llfloaterobjectweights.cpp llfloateropenobject.cpp llfloaterpay.cpp llfloaterperms.cpp @@ -775,6 +776,7 @@ set(viewer_HEADER_FILES llfloatermodelwizard.h llfloaternamedesc.h llfloaternotificationsconsole.h + llfloaterobjectweights.h llfloateropenobject.h llfloaterpay.h llfloaterperms.h diff --git a/indra/newview/llfloatermodelpreview.cpp b/indra/newview/llfloatermodelpreview.cpp index 7844afb456..6e3008049f 100644 --- a/indra/newview/llfloatermodelpreview.cpp +++ b/indra/newview/llfloatermodelpreview.cpp @@ -3123,6 +3123,7 @@ void LLModelPreview::rebuildUploadData() std::string requested_name = mFMP->getChild<LLUICtrl>("description_form")->getValue().asString(); + std::string metric = mFMP->getChild<LLUICtrl>("model_category_combo")->getValue().asString(); LLSpinCtrl* scale_spinner = mFMP->getChild<LLSpinCtrl>("import_scale"); @@ -3184,6 +3185,7 @@ void LLModelPreview::rebuildUploadData() if (base_model) { base_model->mRequestedLabel = requested_name; + base_model->mMetric = metric; } S32 idx = 0; @@ -5524,10 +5526,10 @@ void LLFloaterModelPreview::toggleCalculateButton(bool visible) if (visible) { std::string tbd = getString("tbd"); - childSetTextArg("weights", "[EQ]", tbd); - childSetTextArg("weights", "[ST]", tbd); - childSetTextArg("weights", "[SIM]", tbd); - childSetTextArg("weights", "[PH]", tbd); + childSetTextArg("weights_right", "[EQ]", tbd); + childSetTextArg("weights_left", "[ST]", tbd); + childSetTextArg("weights_right", "[SIM]", tbd); + childSetTextArg("weights_left", "[PH]", tbd); childSetTextArg("upload_fee", "[FEE]", tbd); childSetTextArg("price_breakdown", "[STREAMING]", tbd); childSetTextArg("price_breakdown", "[PHYSICS]", tbd); @@ -5550,17 +5552,16 @@ void LLFloaterModelPreview::handleModelPhysicsFeeReceived() const LLSD& result = mModelPhysicsFee; mUploadModelUrl = result["url"].asString(); - childSetTextArg("weights", "[EQ]", llformat("%0.3f", result["resource_cost"].asReal())); - childSetTextArg("weights", "[ST]", llformat("%0.3f", result["model_streaming_cost"].asReal())); - childSetTextArg("weights", "[SIM]", llformat("%0.3f", result["simulation_cost"].asReal())); - childSetTextArg("weights", "[PH]", llformat("%0.3f", result["physics_cost"].asReal())); + childSetTextArg("weights_right", "[EQ]", llformat("%0.3f", result["resource_cost"].asReal())); + childSetTextArg("weights_left", "[ST]", llformat("%0.3f", result["model_streaming_cost"].asReal())); + childSetTextArg("weights_right", "[SIM]", llformat("%0.3f", result["simulation_cost"].asReal())); + childSetTextArg("weights_left", "[PH]", llformat("%0.3f", result["physics_cost"].asReal())); childSetTextArg("upload_fee", "[FEE]", llformat("%d", result["upload_price"].asInteger())); childSetTextArg("price_breakdown", "[STREAMING]", llformat("%d", result["upload_price_breakdown"]["mesh_streaming"].asInteger())); childSetTextArg("price_breakdown", "[PHYSICS]", llformat("%d", result["upload_price_breakdown"]["mesh_physics"].asInteger())); childSetTextArg("price_breakdown", "[INSTANCES]", llformat("%d", result["upload_price_breakdown"]["mesh_instance"].asInteger())); childSetTextArg("price_breakdown", "[TEXTURES]", llformat("%d", result["upload_price_breakdown"]["texture"].asInteger())); childSetTextArg("price_breakdown", "[MODEL]", llformat("%d", result["upload_price_breakdown"]["model"].asInteger())); - childSetVisible("weights", true); childSetVisible("upload_fee", true); childSetVisible("price_breakdown", true); mUploadBtn->setEnabled(mHasUploadPerm && !mUploadModelUrl.empty()); diff --git a/indra/newview/llfloaterobjectweights.cpp b/indra/newview/llfloaterobjectweights.cpp new file mode 100644 index 0000000000..93aa8dcf08 --- /dev/null +++ b/indra/newview/llfloaterobjectweights.cpp @@ -0,0 +1,99 @@ +/** + * @file llfloaterobjectweights.cpp + * @brief Object weights advanced view floater + * + * $LicenseInfo:firstyear=2011&license=viewerlgpl$ + * Second Life Viewer Source Code + * Copyright (C) 2011, Linden Research, Inc. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; + * version 2.1 of the License only. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA + * $/LicenseInfo$ + */ +#include "llviewerprecompiledheaders.h" + +#include "llfloaterobjectweights.h" + +#include "lltextbox.h" + +LLFloaterObjectWeights::LLFloaterObjectWeights(const LLSD& key) +: LLFloater(key), + mSelectedObjects(NULL), + mSelectedPrims(NULL), + mSelectedDownloadWeight(NULL), + mSelectedPhysicsWeight(NULL), + mSelectedServerWeight(NULL), + mSelectedDisplayWeight(NULL), + mSelectedOnLand(NULL), + mRezzedOnLand(NULL), + mRemainingCapacity(NULL), + mTotalCapacity(NULL) +{ +} + +LLFloaterObjectWeights::~LLFloaterObjectWeights() +{ +} + +// virtual +BOOL LLFloaterObjectWeights::postBuild() +{ + mSelectedObjects = getChild<LLTextBox>("objects"); + mSelectedPrims = getChild<LLTextBox>("prims"); + + mSelectedDownloadWeight = getChild<LLTextBox>("download"); + mSelectedPhysicsWeight = getChild<LLTextBox>("physics"); + mSelectedServerWeight = getChild<LLTextBox>("server"); + mSelectedDisplayWeight = getChild<LLTextBox>("display"); + + mSelectedOnLand = getChild<LLTextBox>("used_download_weight"); + mRezzedOnLand = getChild<LLTextBox>("used_download_weight"); + mRemainingCapacity = getChild<LLTextBox>("used_download_weight"); + mTotalCapacity = getChild<LLTextBox>("used_download_weight"); + + return TRUE; +} + +// virtual +void LLFloaterObjectWeights::onOpen(const LLSD& key) +{ + updateIfNothingSelected(); +} + +void LLFloaterObjectWeights::toggleLoadingIndicators(bool visible) +{ + childSetVisible("download_loading_indicator", visible); + childSetVisible("physics_loading_indicator", visible); + childSetVisible("server_loading_indicator", visible); + childSetVisible("display_loading_indicator", visible); +} + +void LLFloaterObjectWeights::updateIfNothingSelected() +{ + const std::string text = getString("nothing_selected"); + + mSelectedObjects->setText(text); + mSelectedPrims->setText(text); + + mSelectedDownloadWeight->setText(text); + mSelectedPhysicsWeight->setText(text); + mSelectedServerWeight->setText(text); + mSelectedDisplayWeight->setText(text); + + mSelectedOnLand->setText(text); + + toggleLoadingIndicators(false); +} diff --git a/indra/newview/llfloaterobjectweights.h b/indra/newview/llfloaterobjectweights.h new file mode 100644 index 0000000000..10e35ad7a7 --- /dev/null +++ b/indra/newview/llfloaterobjectweights.h @@ -0,0 +1,64 @@ +/** + * @file llfloaterobjectweights.h + * @brief Object weights advanced view floater + * + * $LicenseInfo:firstyear=2011&license=viewerlgpl$ + * Second Life Viewer Source Code + * Copyright (C) 2011, Linden Research, Inc. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; + * version 2.1 of the License only. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA + * $/LicenseInfo$ + */ + +#ifndef LL_LLFLOATEROBJECTWEIGHTS_H +#define LL_LLFLOATEROBJECTWEIGHTS_H + +#include "llfloater.h" + +class LLTextBox; + +class LLFloaterObjectWeights : public LLFloater +{ +public: + LOG_CLASS(LLFloaterObjectWeights); + + LLFloaterObjectWeights(const LLSD& key); + ~LLFloaterObjectWeights(); + + /*virtual*/ BOOL postBuild(); + + /*virtual*/ void onOpen(const LLSD& key); + +private: + void toggleLoadingIndicators(bool visible); + void updateIfNothingSelected(); + + LLTextBox *mSelectedObjects; + LLTextBox *mSelectedPrims; + + LLTextBox *mSelectedDownloadWeight; + LLTextBox *mSelectedPhysicsWeight; + LLTextBox *mSelectedServerWeight; + LLTextBox *mSelectedDisplayWeight; + + LLTextBox *mSelectedOnLand; + LLTextBox *mRezzedOnLand; + LLTextBox *mRemainingCapacity; + LLTextBox *mTotalCapacity; +}; + +#endif //LL_LLFLOATEROBJECTWEIGHTS_H diff --git a/indra/newview/llfloaterregioninfo.cpp b/indra/newview/llfloaterregioninfo.cpp index 538c5e3b88..f948fbac5f 100644 --- a/indra/newview/llfloaterregioninfo.cpp +++ b/indra/newview/llfloaterregioninfo.cpp @@ -172,30 +172,9 @@ bool estate_dispatch_initialized = false; LLUUID LLFloaterRegionInfo::sRequestInvoice; -void LLFloaterRegionInfo::onConsoleReplyReceived(const std::string& output) -{ - llwarns << "here is what they're giving us: " << output << llendl; - - if (output.find("FALSE") != std::string::npos) - { - getChild<LLUICtrl>("mesh_rez_enabled_check")->setValue(FALSE); - } - else - { - getChild<LLUICtrl>("mesh_rez_enabled_check")->setValue(TRUE); - } -} - - LLFloaterRegionInfo::LLFloaterRegionInfo(const LLSD& seed) : LLFloater(seed) -{ - mConsoleReplySignalConnection = LLFloaterRegionDebugConsole::setConsoleReplyCallback( - boost::bind( - &LLFloaterRegionInfo::onConsoleReplyReceived, - this, - _1)); -} +{} BOOL LLFloaterRegionInfo::postBuild() { @@ -246,9 +225,7 @@ BOOL LLFloaterRegionInfo::postBuild() } LLFloaterRegionInfo::~LLFloaterRegionInfo() -{ - mConsoleReplySignalConnection.disconnect(); -} +{} void LLFloaterRegionInfo::onOpen(const LLSD& key) { @@ -637,9 +614,6 @@ bool LLPanelRegionGeneralInfo::refreshFromRegion(LLViewerRegion* region) getChildView("im_btn")->setEnabled(allow_modify); getChildView("manage_telehub_btn")->setEnabled(allow_modify); - const bool enable_mesh = gMeshRepo.meshRezEnabled(); - getChildView("mesh_rez_enabled_check")->setVisible(enable_mesh); - getChildView("mesh_rez_enabled_check")->setEnabled(getChildView("mesh_rez_enabled_check")->getEnabled() && enable_mesh); // Data gets filled in by processRegionInfo return LLPanelRegionInfo::refreshFromRegion(region); @@ -658,7 +632,6 @@ BOOL LLPanelRegionGeneralInfo::postBuild() initCtrl("access_combo"); initCtrl("restrict_pushobject"); initCtrl("block_parcel_search_check"); - initCtrl("mesh_rez_enabled_check"); childSetAction("kick_btn", boost::bind(&LLPanelRegionGeneralInfo::onClickKick, this)); childSetAction("kick_all_btn", onClickKickAll, this); @@ -874,27 +847,6 @@ BOOL LLPanelRegionGeneralInfo::sendUpdate() sendEstateOwnerMessage(gMessageSystem, "setregioninfo", invoice, strings); } - std::string sim_console_url = gAgent.getRegion()->getCapability("SimConsoleAsync"); - - if (!sim_console_url.empty()) - { - std::string update_str = "set mesh_rez_enabled "; - if (getChild<LLUICtrl>("mesh_rez_enabled_check")->getValue().asBoolean()) - { - update_str += "true"; - } - else - { - update_str += "false"; - } - - LLHTTPClient::post( - sim_console_url, - LLSD(update_str), - new ConsoleUpdateResponder); - } - - // if we changed access levels, tell user about it LLViewerRegion* region = gAgent.getRegion(); if (region && (getChild<LLUICtrl>("access_combo")->getValue().asInteger() != region->getSimAccess()) ) diff --git a/indra/newview/llfloaterregioninfo.h b/indra/newview/llfloaterregioninfo.h index c1fef57ac9..c402de66e8 100644 --- a/indra/newview/llfloaterregioninfo.h +++ b/indra/newview/llfloaterregioninfo.h @@ -100,10 +100,6 @@ private: LLFloaterRegionInfo(const LLSD& seed); ~LLFloaterRegionInfo(); - - void onConsoleReplyReceived(const std::string& output); - - boost::signals2::connection mConsoleReplySignalConnection;; protected: void onTabSelected(const LLSD& param); diff --git a/indra/newview/llfloatertools.cpp b/indra/newview/llfloatertools.cpp index 84fb8bd9e7..9121e80a4e 100644 --- a/indra/newview/llfloatertools.cpp +++ b/indra/newview/llfloatertools.cpp @@ -826,6 +826,9 @@ void LLFloaterTools::onClose(bool app_quitting) //gMenuBarView->setItemVisible("BuildTools", FALSE); LLFloaterReg::hideInstance("media_settings"); + + // hide the advanced object weights floater + LLFloaterReg::hideInstance("object_weights"); } void click_popup_info(void*) diff --git a/indra/newview/llmeshrepository.cpp b/indra/newview/llmeshrepository.cpp index 7ddc0db20d..4b2fafccd4 100644 --- a/indra/newview/llmeshrepository.cpp +++ b/indra/newview/llmeshrepository.cpp @@ -1321,6 +1321,7 @@ void LLMeshUploadThread::wholeModelToLLSD(LLSD& dest, bool include_textures) std::map<LLModel*,S32> mesh_index; std::string model_name; + std::string model_metric; S32 instance_num = 0; @@ -1342,6 +1343,11 @@ void LLMeshUploadThread::wholeModelToLLSD(LLSD& dest, bool include_textures) model_name = data.mBaseModel->getName(); } + if (model_metric.empty()) + { + model_metric = data.mBaseModel->getMetric(); + } + std::stringstream ostr; LLModel::Decomposition& decomp = @@ -1455,6 +1461,8 @@ void LLMeshUploadThread::wholeModelToLLSD(LLSD& dest, bool include_textures) if (model_name.empty()) model_name = "mesh model"; result["name"] = model_name; + if (model_metric.empty()) model_metric = "MUT_Other"; + result["metric"] = model_metric; result["asset_resources"] = res; dump_llsd_to_file(result,make_dump_name("whole_model_",dump_num)); @@ -3494,8 +3502,7 @@ void LLMeshRepository::buildPhysicsMesh(LLModel::Decomposition& decomp) bool LLMeshRepository::meshUploadEnabled() { LLViewerRegion *region = gAgent.getRegion(); - if(gSavedSettings.getBOOL("MeshEnabled") && - LLViewerParcelMgr::getInstance()->allowAgentBuild() && + if(gSavedSettings.getBOOL("MeshEnabled") && region) { return region->meshUploadEnabled(); diff --git a/indra/newview/llviewerfloaterreg.cpp b/indra/newview/llviewerfloaterreg.cpp index 26f05337a4..b0a547cbf1 100644 --- a/indra/newview/llviewerfloaterreg.cpp +++ b/indra/newview/llviewerfloaterreg.cpp @@ -79,6 +79,7 @@ #include "llfloatermodelwizard.h" #include "llfloaternamedesc.h" #include "llfloaternotificationsconsole.h" +#include "llfloaterobjectweights.h" #include "llfloateropenobject.h" #include "llfloaterpay.h" #include "llfloaterperms.h" @@ -226,6 +227,7 @@ void LLViewerFloaterReg::registerFloaters() LLFloaterReg::add("notifications_console", "floater_notifications_console.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterNotificationConsole>); LLFloaterReg::add("notification_well_window", "floater_sys_well.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLNotificationWellWindow>); + LLFloaterReg::add("object_weights", "floater_object_weights.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterObjectWeights>); LLFloaterReg::add("openobject", "floater_openobject.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterOpenObject>); LLFloaterReg::add("outgoing_call", "floater_outgoing_call.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLOutgoingCallDialog>); LLFloaterPayUtil::registerFloater(); @@ -286,7 +288,7 @@ void LLViewerFloaterReg::registerFloaters() LLFloaterReg::add("voice_controls", "floater_voice_controls.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLCallFloater>); LLFloaterReg::add("voice_effect", "floater_voice_effect.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterVoiceEffect>); - LLFloaterReg::add("web_content", "floater_web_content.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterWebContent>); + LLFloaterReg::add("web_content", "floater_web_content.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterWebContent>); LLFloaterReg::add("whitelist_entry", "floater_whitelist_entry.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterWhiteListEntry>); LLFloaterWindowSizeUtil::registerFloater(); LLFloaterReg::add("world_map", "floater_world_map.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterWorldMap>); diff --git a/indra/newview/skins/default/xui/en/floater_model_preview.xml b/indra/newview/skins/default/xui/en/floater_model_preview.xml index 1d4a1d4827..c52f48cfaf 100644 --- a/indra/newview/skins/default/xui/en/floater_model_preview.xml +++ b/indra/newview/skins/default/xui/en/floater_model_preview.xml @@ -32,6 +32,22 @@ </text> <line_editor bottom_delta="20" follows="top|left|right" height="19" max_length_bytes="64" name="description_form" prevalidate_callback="ascii" width="290" /> + + <text bottom_delta="20" left="15" follows="left|top" height="15" name="model_category_label" text_color="White"> + What does this model represent? + </text> + <combo_box top_pad="1" follows="left|top" height="23" + name="model_category_combo" width="200"> + <combo_box.drop_down_button + label_color="White"/> + <combo_item name="Avatar shape" label="Avatar shape" value="MUT_AvatarShape"/> + <combo_item name="Avatar attachment" label="Avatar attachment" value="MUT_AvatarAttachment"/> + <combo_item name="Building Component" label="Building Component" value="MUT_BuildingComponent"/> + <combo_item name="Moving object (vehicle, animal)" label="Moving object (vehicle, animal)" value="MUT_MovingObject"/> + <combo_item name="Large, non moving etc" label="Large, non moving etc" value="MUT_LargeStationary"/> + <combo_item name="Smaller, non-moving etc" label="Smaller, non-moving etc" value="MUT_SmallStationary"/> + <combo_item name="Not really any of these" label="Not really any of these" value="MUT_Other"/> + </combo_box> <text bottom_delta="20" left="15" follows="left|top" height="15" name="lod_label"> Preview: @@ -95,32 +111,47 @@ You will not be able to complete the final upload of this model to the Second Life servers. [[VURL] Find out how] to get enabled for mesh model uploads.</text> <text - height="65" - top_delta="45" + height="26" + top_pad="5" left_delta="0" - name="weights_text" + name="weights_text_left" width="80" word_wrap="true" > Download: Physics: -Server: - -Prim equivs: </text> - <text - height="65" + height="26" top_delta="0" - left_delta="80" - name="weights" + left_pad="0" + name="weights_left" width="70" word_wrap="true" > [ST] [PH] + </text> + <text + height="26" + top_delta="0" + left_pad="0" + name="weights_text_right" + width="80" + word_wrap="true" + > +Server: +Prim equivs: + </text> + <text + height="26" + top_delta="0" + left_pad="0" + name="weights_right" + width="70" + word_wrap="true" + > [SIM] - [EQ] </text> @@ -173,6 +204,18 @@ L$ [MODEL] name="lod_panel" help_topic="upload_model_lod"> + <!-- LOD TABLE--> + <panel + follows="top|left" + name="lod table" + left="0" + top="0" + width="300" + height="163" + visible="true" + border="true" + bevel_style="none" bg_alpha_color="0 0 0 0" bg_opaque_color="0 0 0 0.3"> + <text left="10" width="240" bottom="20" height="15" follows="left|top" name="lod_table_header"> Select Level of Detail: </text> @@ -210,9 +253,22 @@ L$ [MODEL] </text> <icon height="16" width="16" left="20" follows="left|top" name="lod_status_message_icon"/> - <text left_pad="5" width="200" height="28" follows="left|top" top_pad="-15" wrap="true" name="lod_status_message_text"/> + <text left_pad="5" width="230" height="28" follows="left|top" top_pad="-15" wrap="true" name="lod_status_message_text"/> + </panel> + + <!-- LOD MESH--> + <panel + follows="top|left" + name="mesh" + left="0" + top_pad="0" + width="300" + height="237" + visible="true" + border="true" + bevel_style="none" bg_alpha_color="0 0 0 0" bg_opaque_color="0 0 0 0.3"> - <text top_pad="-3" left="10" height="15" follows="left|top"> + <text top_pad="5" left="10" height="15" follows="left|top"> Mesh </text> @@ -236,10 +292,10 @@ L$ [MODEL] <spinner follows="top|left" name="lod_triangle_limit" increment="10" left_pad="5" height="20" width="100" decimal_digits="0" enabled="true"/> <spinner left_delta="0" bottom_delta="0" increment="0.01" follows="top|left" name="lod_error_threshold" min_val="0" max_val="100" height="20" width="100" decimal_digits="3" visible="false" enabled="true"/> - <text follows="top|left" name="build_operator_text" left="45" top_pad="10" width="100" height="15"> + <text follows="top|left" name="build_operator_text" left="45" top_pad="10" width="100" height="15" text_readonly_color="LabelDisabledColor"> Build Operator: </text> - <text follows="top|left" name="queue_mode_text" left_pad="5" width="100" height="15"> + <text follows="top|left" name="queue_mode_text" left_pad="5" width="100" height="15" text_readonly_color="LabelDisabledColor"> Queue Mode: </text> <combo_box follows="top|left" name="build_operator" top_pad="5" left="45" width="100" height="20"> @@ -263,11 +319,11 @@ L$ [MODEL] </combo_item> </combo_box> - <text top_pad="10" name="border_mode_text" left="45" follows="left|top" width="100" height="15"> + <text top_pad="10" name="border_mode_text" left="45" follows="left|top" width="100" height="15" text_readonly_color="LabelDisabledColor"> Border Mode: </text> - <text left_pad="5" name="share_tolderance_text" follows="left|top" width="100" height="15"> + <text left_pad="5" name="share_tolderance_text" follows="left|top" width="100" height="15" text_readonly_color="LabelDisabledColor"> Share Tolerance: </text> @@ -280,14 +336,28 @@ L$ [MODEL] </combo_item> </combo_box> <spinner follows="left|top" name="share_tolerance" left_pad="5" width="100" decimal_digits="5" initial_value="0.00001" height="20"/> - - <text left="10" top_pad="35" follows="top|left" width="240" height="15"> + </panel> + + <!-- LOD GENERATE NORMALS--> + <panel + follows="top|left" + name="generate normals" + left="0" + top_pad="0" + width="300" + height="46" + visible="true" + border="true" + bevel_style="none" bg_alpha_color="0 0 0 0" bg_opaque_color="0 0 0 0.3"> + + <text left="10" top_pad="5" follows="top|left" width="240" height="15"> Generate Normals </text> <text left="35" top_pad="5" follows="top|left" width="100" height="15" name="crease_label"> Crease Angle: </text> <spinner follows="top|left" left_pad="5" min_val="0" max_val="180" value="75" width="60" height="20" name="crease_angle"/> + </panel> </panel> <!-- PANEL --> @@ -314,8 +384,8 @@ L$ [MODEL] <radio_item bottom="23" name="physics_use_lod" label="Use Level of Detail:"/> </radio_group> - <combo_box left="180" top="10" follows="left|top" height="18" - name="physics_lod_combo" width="110" tool_tip="LOD to use for physics shape"> + <combo_box left="150" top="10" follows="left|top" height="18" + name="physics_lod_combo" width="130" tool_tip="LOD to use for physics shape"> <combo_item name="physics_lowest"> Lowest </combo_item> @@ -448,7 +518,7 @@ L$ [MODEL] <spinner left="10" height="20" follows="top|left" width="80" top_pad="5" value="1.0" min_val="0.01" max_val="64.0" name="import_scale"/> - <text left_pad="20" height="15" name="import_dimensions" follows="top|left"> + <text left_pad="20" height="15" width="140" name="import_dimensions" follows="top|left"> [X] x [Y] x [Z] m </text> diff --git a/indra/newview/skins/default/xui/en/floater_object_weights.xml b/indra/newview/skins/default/xui/en/floater_object_weights.xml new file mode 100644 index 0000000000..f377386679 --- /dev/null +++ b/indra/newview/skins/default/xui/en/floater_object_weights.xml @@ -0,0 +1,310 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<floater + can_close="true" + can_tear_off="false" + height="315" + help_topic="objects_weight_floater" + layout="topleft" + name="object_weights" + save_rect="true" + single_instance="true" + title="ADVANCED" + width="200"> + <floater.string + name="nothing_selected" + value="--"/> + + <text + follows="left|top" + height="16" + layout="topleft" + left="10" + name="selected_text" + text_color="EmphasisColor" + top="10" + value="SELECTED" + width="180" /> + <text + follows="left|top" + halign="right" + height="16" + layout="topleft" + left="10" + name="objects" + top_pad="3" + value="--" + width="40" /> + <text + follows="left|top" + height="16" + layout="topleft" + left_pad="10" + name="objects_label" + top_delta="0" + value="Objects" + width="130" /> + <text + follows="left|top" + halign="right" + height="16" + layout="topleft" + left="10" + name="prims" + top_pad="3" + value="--" + width="40" /> + <text + follows="left|top" + height="16" + layout="topleft" + left_pad="10" + name="prims_label" + top_delta="0" + value="Prims" + width="130" /> + <view_border + bevel_style="none" + follows="top|left" + height="0" + layout="topleft" + left="10" + name="selected_text_border" + top_pad="5" + width="180"/> + + + <text + follows="left|top" + height="16" + layout="topleft" + left="10" + name="weights_of_selected_text" + text_color="EmphasisColor" + top_pad="10" + value="WEIGHTS OF SELECTED" + width="180" /> + <text + follows="left|top" + halign="right" + height="16" + layout="topleft" + left="10" + name="download" + top_pad="3" + value="--" + width="40" /> + <loading_indicator + follows="left|top" + height="16" + layout="topleft" + left="34" + name="download_loading_indicator" + top_delta="0" + width="16" /> + <text + follows="left|top" + height="16" + layout="topleft" + left_pad="10" + name="download_label" + top_delta="0" + value="Download" + width="130" /> + <text + follows="left|top" + halign="right" + height="16" + layout="topleft" + left="10" + name="physics" + top_pad="3" + value="--" + width="40" /> + <loading_indicator + follows="left|top" + height="16" + layout="topleft" + left="34" + name="physics_loading_indicator" + top_delta="0" + width="16" /> + <text + follows="left|top" + height="16" + layout="topleft" + left_pad="10" + name="physics_label" + top_delta="0" + value="Physics" + width="130" /> + <text + follows="left|top" + halign="right" + height="16" + layout="topleft" + left="10" + name="server" + top_pad="3" + value="--" + width="40" /> + <loading_indicator + follows="left|top" + height="16" + layout="topleft" + left="34" + name="server_loading_indicator" + top_delta="0" + width="16" /> + <text + follows="left|top" + height="16" + layout="topleft" + left_pad="10" + name="server_label" + top_delta="0" + value="Server" + width="130" /> + <text + follows="left|top" + halign="right" + height="16" + layout="topleft" + left="10" + name="display" + top_pad="3" + value="--" + width="40" /> + <loading_indicator + follows="left|top" + height="16" + layout="topleft" + left="34" + name="display_loading_indicator" + top_delta="0" + width="16" /> + <text + follows="left|top" + height="16" + layout="topleft" + left_pad="10" + name="display_label" + top_delta="0" + value="Display" + width="130" /> + <view_border + bevel_style="none" + follows="top|left" + height="0" + layout="topleft" + left="10" + name="weights_text_border" + top_pad="5" + width="180"/> + + + <text + follows="left|top" + height="16" + layout="topleft" + left="10" + name="land_impacts_text" + text_color="EmphasisColor" + top_pad="10" + value="LAND IMPACTS" + width="180" /> + <text + follows="left|top" + halign="right" + height="16" + layout="topleft" + left="10" + name="selected" + top_pad="3" + value="--" + width="40" /> + <text + follows="left|top" + height="16" + layout="topleft" + left_pad="10" + name="selected_label" + top_delta="0" + value="Selected" + width="130" /> + <text + follows="left|top" + halign="right" + height="16" + layout="topleft" + left="10" + name="rezzed_on_land" + top_pad="3" + value="--" + width="40" /> + <text + follows="left|top" + height="16" + layout="topleft" + left_pad="10" + name="rezzed_on_land_label" + top_delta="0" + value="Rezzed on land" + width="130" /> + <text + follows="left|top" + halign="right" + height="16" + layout="topleft" + left="10" + name="remaining_capacity" + top_pad="3" + value="--" + width="40" /> + <text + follows="left|top" + height="16" + layout="topleft" + left_pad="10" + name="remaining_capacity" + top_delta="0" + value="Remaining capacity" + width="130" /> + <text + follows="left|top" + halign="right" + height="16" + layout="topleft" + left="10" + name="total_capacity" + top_pad="3" + value="--" + width="40" /> + <text + follows="left|top" + height="16" + layout="topleft" + left_pad="10" + name="total_capacity" + top_delta="0" + value="Total capacity" + width="130" /> + <view_border + bevel_style="none" + follows="top|left" + height="0" + layout="topleft" + left="10" + name="land_impacts_text_border" + top_pad="5" + width="180"/> + + <text + follows="left|top" + height="16" + layout="topleft" + left="10" + name="total_capacity" + top_pad="10" + value="[secondlife:///www.secondlife.com What is all this?...]" + width="180" /> +</floater> diff --git a/indra/newview/skins/default/xui/en/floater_tools.xml b/indra/newview/skins/default/xui/en/floater_tools.xml index 8901583799..e794a7067d 100644 --- a/indra/newview/skins/default/xui/en/floater_tools.xml +++ b/indra/newview/skins/default/xui/en/floater_tools.xml @@ -742,7 +742,7 @@ top_pad="0" visible="false" width="280"> - Physics weight [PHYS_WEIGHT], Render Cost [DISP_WEIGHT]. + Physics weight [PHYS_WEIGHT], Render Cost [DISP_WEIGHT]. [secondlife:///app/openfloater/object_weights More info] </text> <!-- <text --> <!-- text_color="LtGray_50" --> diff --git a/indra/newview/skins/default/xui/en/panel_region_general.xml b/indra/newview/skins/default/xui/en/panel_region_general.xml index 3f9195d092..44c84e69a1 100644 --- a/indra/newview/skins/default/xui/en/panel_region_general.xml +++ b/indra/newview/skins/default/xui/en/panel_region_general.xml @@ -133,17 +133,7 @@ tool_tip="Let people see this region and its parcels in search results" top="190" width="80" /> - <check_box - visible="FALSE" - height="20" - label="Allow Mesh Objects" - layout="topleft" - left="10" - name="mesh_rez_enabled_check" - tool_tip="Let people rez mesh objects on this region" - top="210" - width="80" /> - <spinner + <spinner decimal_digits="0" follows="left|top" height="20" |