diff --git a/autobuild.xml b/autobuild.xml
index 380d93291b..148b6526e8 100644
--- a/autobuild.xml
+++ b/autobuild.xml
@@ -1859,9 +1859,9 @@
archive
name
linux64
@@ -1883,9 +1883,9 @@
archive
name
windows64
diff --git a/indra/llappearance/llavatarappearance.cpp b/indra/llappearance/llavatarappearance.cpp
index aa4bcb4c85..d963ab0205 100644
--- a/indra/llappearance/llavatarappearance.cpp
+++ b/indra/llappearance/llavatarappearance.cpp
@@ -2156,3 +2156,5 @@ LLAvatarAppearance::LLMaskedMorph::LLMaskedMorph(LLVisualParam *morph_target, BO
}
}
+
+
diff --git a/indra/llprimitive/lldaeloader.cpp b/indra/llprimitive/lldaeloader.cpp
index c38d7a077c..bd57e6c290 100644
--- a/indra/llprimitive/lldaeloader.cpp
+++ b/indra/llprimitive/lldaeloader.cpp
@@ -1052,11 +1052,6 @@ bool LLDAELoader::OpenFile(const std::string& filename)
std::sort(mModelList.begin(), mModelList.end(), ModelSort());
- if (!mNoNormalize)
- {
- LLModel::normalizeModels(mModelList);
- }
-
model_list::iterator model_iter = mModelList.begin();
while (model_iter != mModelList.end())
{
@@ -2542,6 +2537,8 @@ bool LLDAELoader::loadModelsFromDomMesh(domMesh* mesh, std::vector& mo
//
ret->sortVolumeFacesByMaterialName();
+ bool normalized = false;
+
int submodelID = 0;
// remove all faces that definitely won't fit into one model and submodel limit
@@ -2556,6 +2553,12 @@ bool LLDAELoader::loadModelsFromDomMesh(domMesh* mesh, std::vector& mo
{
// Insure we do this once with the whole gang and not per-model
//
+ if (!normalized && !mNoNormalize)
+ {
+ normalized = true;
+ ret->normalizeVolumeFaces();
+ }
+
ret->trimVolumeFacesToSize(LL_SCULPT_MESH_MAX_FACES, &remainder);
if (!mNoOptimize)
diff --git a/indra/newview/llfloaterbeacons.cpp b/indra/newview/llfloaterbeacons.cpp
index cf38a00499..5ab9ed6d90 100644
--- a/indra/newview/llfloaterbeacons.cpp
+++ b/indra/newview/llfloaterbeacons.cpp
@@ -101,31 +101,33 @@ void LLFloaterBeacons::onClickUICheck(LLUICtrl *ctrl)
else if(name == "highlights")
{
LLPipeline::toggleRenderHighlights();
+ // FS:LO Allow beacons to be turned off fully by unchecking both boxes
// Don't allow both to be OFF at the same time. Toggle the other one on if both now off.
- if (
- !LLPipeline::getRenderBeacons() &&
- !LLPipeline::getRenderHighlights() )
- {
- LLPipeline::setRenderBeacons(true);
- getChild("beacons")->setControlValue(LLSD(TRUE));
- getChild("beacons")->setValue(TRUE);
- getChild("highlights")->setControlValue(LLSD(FALSE)); // just to be sure it's in sync with llpipeline
- getChild("highlights")->setValue(FALSE);
- }
+ // if (
+ // !LLPipeline::getRenderBeacons() &&
+ // !LLPipeline::getRenderHighlights() )
+ // {
+ // LLPipeline::setRenderBeacons(true);
+ // getChild("beacons")->setControlValue(LLSD(TRUE));
+ // getChild("beacons")->setValue(TRUE);
+ // getChild("highlights")->setControlValue(LLSD(FALSE)); // just to be sure it's in sync with llpipeline
+ // getChild("highlights")->setValue(FALSE);
+ // }
}
else if(name == "beacons")
{
LLPipeline::toggleRenderBeacons();
+ // FS:LO Allow beacons to be turned off fully by unchecking both boxes
// Don't allow both to be OFF at the same time. Toggle the other one on if both now off.
- if (
- !LLPipeline::getRenderBeacons() &&
- !LLPipeline::getRenderHighlights() )
- {
- LLPipeline::setRenderHighlights(true);
- getChild("highlights")->setControlValue(LLSD(TRUE));
- getChild("highlights")->setValue(TRUE);
- getChild("beacons")->setControlValue(LLSD(FALSE)); // just to be sure it's in sync with llpipeline
- getChild("beacons")->setValue(FALSE);
- }
+ // if (
+ // !LLPipeline::getRenderBeacons() &&
+ // !LLPipeline::getRenderHighlights() )
+ // {
+ // LLPipeline::setRenderHighlights(true);
+ // getChild("highlights")->setControlValue(LLSD(TRUE));
+ // getChild("highlights")->setValue(TRUE);
+ // getChild("beacons")->setControlValue(LLSD(FALSE)); // just to be sure it's in sync with llpipeline
+ // getChild("beacons")->setValue(FALSE);
+ // }
}
}
diff --git a/indra/newview/lltracker.cpp b/indra/newview/lltracker.cpp
index 93550bfd01..4070d96312 100644
--- a/indra/newview/lltracker.cpp
+++ b/indra/newview/lltracker.cpp
@@ -62,6 +62,7 @@
#include "llworldmapview.h"
#include "llviewercontrol.h"
+
const F32 DESTINATION_REACHED_RADIUS = 3.0f;
const F32 DESTINATION_VISITED_RADIUS = 6.0f;
diff --git a/indra/newview/llviewermenu.cpp b/indra/newview/llviewermenu.cpp
index 567325bbb9..923b3c5298 100644
--- a/indra/newview/llviewermenu.cpp
+++ b/indra/newview/llviewermenu.cpp
@@ -421,7 +421,6 @@ void LLMenuParcelObserver::changed()
static LLView* land_buy_pass_pie = gMenuHolder->getChildView("Land Buy Pass Pie");
static LLView* land_buy = gMenuHolder->getChildView("Land Buy");
static LLView* land_buy_pie = gMenuHolder->getChildView("Land Buy Pie");
- static LLView* buy_land = gMenuHolder->getChildView("Buy Land...");
BOOL pass_buyable = LLPanelLandGeneral::enableBuyPass(NULL) && parcel->getOwnerID() != gAgentID;
land_buy_pass->setEnabled(pass_buyable);
@@ -430,7 +429,6 @@ void LLMenuParcelObserver::changed()
BOOL buyable = enable_buy_land(NULL);
land_buy->setEnabled(buyable);
land_buy_pie->setEnabled(buyable);
- buy_land->setEnabled(buyable);
// FIRE-4454: Cache controls because of performance reasons
}
diff --git a/indra/newview/llviewerwindow.cpp b/indra/newview/llviewerwindow.cpp
index f375211554..6cdb561a84 100644
--- a/indra/newview/llviewerwindow.cpp
+++ b/indra/newview/llviewerwindow.cpp
@@ -817,11 +817,13 @@ public:
ypos += y_inc;
}
- if (LLPipeline::toggleRenderTypeControlNegated(LLPipeline::RENDER_TYPE_PARTICLES))
+ // pull the text saying if particles are hidden out from beacons
+ /*if (LLPipeline::toggleRenderTypeControlNegated((void*)LLPipeline::RENDER_TYPE_PARTICLES))
{
addText(xpos, ypos, particle_hiding);
ypos += y_inc;
- }
+ }*/
+ //
if (LLPipeline::getRenderParticleBeacons())
{
diff --git a/indra/newview/pipeline.cpp b/indra/newview/pipeline.cpp
index d869dfdf43..dc878016da 100644
--- a/indra/newview/pipeline.cpp
+++ b/indra/newview/pipeline.cpp
@@ -3516,7 +3516,6 @@ void LLPipeline::stateSort(LLCamera& camera, LLCullResult &result)
if (LLViewerCamera::sCurCameraID == LLViewerCamera::CAMERA_WORLD)
{
LLSpatialGroup* last_group = NULL;
- BOOL fov_changed = LLViewerCamera::getInstance()->isDefaultFOVChanged();
for (LLCullResult::bridge_iterator i = sCull->beginVisibleBridge(); i != sCull->endVisibleBridge(); ++i)
{
LLCullResult::bridge_iterator cur_iter = i;
@@ -3530,7 +3529,7 @@ void LLPipeline::stateSort(LLCamera& camera, LLCullResult &result)
if (!bridge->isDead() && group && !group->isOcclusionState(LLSpatialGroup::OCCLUDED))
{
- stateSort(bridge, camera, fov_changed);
+ stateSort(bridge, camera);
}
if (LLViewerCamera::sCurCameraID == LLViewerCamera::CAMERA_WORLD &&
@@ -3602,9 +3601,9 @@ void LLPipeline::stateSort(LLSpatialGroup* group, LLCamera& camera)
}
-void LLPipeline::stateSort(LLSpatialBridge* bridge, LLCamera& camera, BOOL fov_changed)
+void LLPipeline::stateSort(LLSpatialBridge* bridge, LLCamera& camera)
{
- if (bridge->getSpatialGroup()->changeLOD() || fov_changed)
+ if (bridge->getSpatialGroup()->changeLOD())
{
bool force_update = false;
bridge->updateDistance(camera, force_update);
diff --git a/indra/newview/pipeline.h b/indra/newview/pipeline.h
index 0fec7eb9b4..928056ef08 100644
--- a/indra/newview/pipeline.h
+++ b/indra/newview/pipeline.h
@@ -254,7 +254,7 @@ public:
void stateSort(LLCamera& camera, LLCullResult& result);
void stateSort(LLSpatialGroup* group, LLCamera& camera);
- void stateSort(LLSpatialBridge* bridge, LLCamera& camera, BOOL fov_changed = FALSE);
+ void stateSort(LLSpatialBridge* bridge, LLCamera& camera);
void stateSort(LLDrawable* drawablep, LLCamera& camera);
void postSort(LLCamera& camera);
void forAllVisibleDrawables(void (*func)(LLDrawable*));