diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml
index 9490b9d1e..aced9c35d 100644
--- a/indra/newview/app_settings/settings.xml
+++ b/indra/newview/app_settings/settings.xml
@@ -12692,16 +12692,5 @@
Value
0
- UseLLWind
-
diff --git a/indra/newview/character/avatar_lad.xml b/indra/newview/character/avatar_lad.xml
index 05d55dce9..0ed5663ec 100644
--- a/indra/newview/character/avatar_lad.xml
+++ b/indra/newview/character/avatar_lad.xml
@@ -394,17 +394,6 @@
max_attachment_offset="2.0"
visible_in_first_person="true" />
-
-
= 1.0)
- {
- LLVector3 pos_region_scaled(pos_region * temp_dim);
- r_val += getVelocity(pos_region_scaled) * (1.0f/temp_dim);
- temp_dim /= 2.0;
- }
-
- return r_val * (1.0f/norm) * WIND_SCALE_HACK;
- }
- else
+ F32 temp_dim = dim;
+ while (temp_dim >= 1.0)
{
- return LLVector3(0, 0, 0);
+ LLVector3 pos_region_scaled(pos_region * temp_dim);
+ r_val += getVelocity(pos_region_scaled) * (1.0f/temp_dim);
+ temp_dim /= 2.0;
}
+
+ return r_val * (1.0f/norm) * WIND_SCALE_HACK;
}
LLVector3 LLWind::getVelocity(const LLVector3 &pos_region)
{
- if(gUseLLWind)
+ llassert(mSize == 16);
+ // Resolves value of wind at a location relative to SW corner of region
+ //
+ // Returns wind magnitude in X,Y components of vector3
+ LLVector3 r_val;
+ F32 dx,dy;
+ S32 k;
+
+ LLVector3 pos_clamped_region(pos_region);
+
+ F32 region_width_meters = LLWorld::getInstance()->getRegionWidthInMeters();
+
+ if (pos_clamped_region.mV[VX] < 0.f)
{
- llassert(mSize == 16);
- // Resolves value of wind at a location relative to SW corner of region
- //
- // Returns wind magnitude in X,Y components of vector3
- LLVector3 r_val;
- F32 dx,dy;
- S32 k;
-
- LLVector3 pos_clamped_region(pos_region);
-
- F32 region_width_meters = LLWorld::getInstance()->getRegionWidthInMeters();
-
- if (pos_clamped_region.mV[VX] < 0.f)
- {
- pos_clamped_region.mV[VX] = 0.f;
- }
- else if (pos_clamped_region.mV[VX] >= region_width_meters)
- {
- pos_clamped_region.mV[VX] = (F32) fmod(pos_clamped_region.mV[VX], region_width_meters);
- }
-
- if (pos_clamped_region.mV[VY] < 0.f)
- {
- pos_clamped_region.mV[VY] = 0.f;
- }
- else if (pos_clamped_region.mV[VY] >= region_width_meters)
- {
- pos_clamped_region.mV[VY] = (F32) fmod(pos_clamped_region.mV[VY], region_width_meters);
- }
-
-
- S32 i = llfloor(pos_clamped_region.mV[VX] * mSize / region_width_meters);
- S32 j = llfloor(pos_clamped_region.mV[VY] * mSize / region_width_meters);
- k = i + j*mSize;
- dx = ((pos_clamped_region.mV[VX] * mSize / region_width_meters) - (F32) i);
- dy = ((pos_clamped_region.mV[VY] * mSize / region_width_meters) - (F32) j);
-
- if ((i < mSize-1) && (j < mSize-1))
- {
- // Interior points, no edges
- r_val.mV[VX] = mVelX[k]*(1.0f - dx)*(1.0f - dy) +
- mVelX[k + 1]*dx*(1.0f - dy) +
- mVelX[k + mSize]*dy*(1.0f - dx) +
- mVelX[k + mSize + 1]*dx*dy;
- r_val.mV[VY] = mVelY[k]*(1.0f - dx)*(1.0f - dy) +
- mVelY[k + 1]*dx*(1.0f - dy) +
- mVelY[k + mSize]*dy*(1.0f - dx) +
- mVelY[k + mSize + 1]*dx*dy;
- }
- else
- {
- r_val.mV[VX] = mVelX[k];
- r_val.mV[VY] = mVelY[k];
- }
-
- r_val.mV[VZ] = 0.f;
- return r_val * WIND_SCALE_HACK;
+ pos_clamped_region.mV[VX] = 0.f;
}
- else
+ else if (pos_clamped_region.mV[VX] >= region_width_meters)
{
- return LLVector3(0, 0, 0);
+ pos_clamped_region.mV[VX] = (F32) fmod(pos_clamped_region.mV[VX], region_width_meters);
}
+
+ if (pos_clamped_region.mV[VY] < 0.f)
+ {
+ pos_clamped_region.mV[VY] = 0.f;
+ }
+ else if (pos_clamped_region.mV[VY] >= region_width_meters)
+ {
+ pos_clamped_region.mV[VY] = (F32) fmod(pos_clamped_region.mV[VY], region_width_meters);
+ }
+
+
+ S32 i = llfloor(pos_clamped_region.mV[VX] * mSize / region_width_meters);
+ S32 j = llfloor(pos_clamped_region.mV[VY] * mSize / region_width_meters);
+ k = i + j*mSize;
+ dx = ((pos_clamped_region.mV[VX] * mSize / region_width_meters) - (F32) i);
+ dy = ((pos_clamped_region.mV[VY] * mSize / region_width_meters) - (F32) j);
+
+ if ((i < mSize-1) && (j < mSize-1))
+ {
+ // Interior points, no edges
+ r_val.mV[VX] = mVelX[k]*(1.0f - dx)*(1.0f - dy) +
+ mVelX[k + 1]*dx*(1.0f - dy) +
+ mVelX[k + mSize]*dy*(1.0f - dx) +
+ mVelX[k + mSize + 1]*dx*dy;
+ r_val.mV[VY] = mVelY[k]*(1.0f - dx)*(1.0f - dy) +
+ mVelY[k + 1]*dx*(1.0f - dy) +
+ mVelY[k + mSize]*dy*(1.0f - dx) +
+ mVelY[k + mSize + 1]*dx*dy;
+ }
+ else
+ {
+ r_val.mV[VX] = mVelX[k];
+ r_val.mV[VY] = mVelY[k];
+ }
+
+ r_val.mV[VZ] = 0.f;
+ return r_val * WIND_SCALE_HACK;
}
LLVector3 LLWind::getCloudVelocity(const LLVector3 &pos_region)
{
- if(gUseLLWind)
+ llassert(mSize == 16);
+ // Resolves value of wind at a location relative to SW corner of region
+ //
+ // Returns wind magnitude in X,Y components of vector3
+ LLVector3 r_val;
+ F32 dx,dy;
+ S32 k;
+
+ LLVector3 pos_clamped_region(pos_region);
+
+ F32 region_width_meters = LLWorld::getInstance()->getRegionWidthInMeters();
+
+ if (pos_clamped_region.mV[VX] < 0.f)
{
- llassert(mSize == 16);
- // Resolves value of wind at a location relative to SW corner of region
- //
- // Returns wind magnitude in X,Y components of vector3
- LLVector3 r_val;
- F32 dx,dy;
- S32 k;
-
- LLVector3 pos_clamped_region(pos_region);
-
- F32 region_width_meters = LLWorld::getInstance()->getRegionWidthInMeters();
-
- if (pos_clamped_region.mV[VX] < 0.f)
- {
- pos_clamped_region.mV[VX] = 0.f;
- }
- else if (pos_clamped_region.mV[VX] >= region_width_meters)
- {
- pos_clamped_region.mV[VX] = (F32) fmod(pos_clamped_region.mV[VX], region_width_meters);
- }
-
- if (pos_clamped_region.mV[VY] < 0.f)
- {
- pos_clamped_region.mV[VY] = 0.f;
- }
- else if (pos_clamped_region.mV[VY] >= region_width_meters)
- {
- pos_clamped_region.mV[VY] = (F32) fmod(pos_clamped_region.mV[VY], region_width_meters);
- }
-
-
- S32 i = llfloor(pos_clamped_region.mV[VX] * mSize / region_width_meters);
- S32 j = llfloor(pos_clamped_region.mV[VY] * mSize / region_width_meters);
- k = i + j*mSize;
- dx = ((pos_clamped_region.mV[VX] * mSize / region_width_meters) - (F32) i);
- dy = ((pos_clamped_region.mV[VY] * mSize / region_width_meters) - (F32) j);
-
- if ((i < mSize-1) && (j < mSize-1))
- {
- // Interior points, no edges
- r_val.mV[VX] = mCloudVelX[k]*(1.0f - dx)*(1.0f - dy) +
- mCloudVelX[k + 1]*dx*(1.0f - dy) +
- mCloudVelX[k + mSize]*dy*(1.0f - dx) +
- mCloudVelX[k + mSize + 1]*dx*dy;
- r_val.mV[VY] = mCloudVelY[k]*(1.0f - dx)*(1.0f - dy) +
- mCloudVelY[k + 1]*dx*(1.0f - dy) +
- mCloudVelY[k + mSize]*dy*(1.0f - dx) +
- mCloudVelY[k + mSize + 1]*dx*dy;
- }
- else
- {
- r_val.mV[VX] = mCloudVelX[k];
- r_val.mV[VY] = mCloudVelY[k];
- }
-
- r_val.mV[VZ] = 0.f;
- return r_val * WIND_SCALE_HACK;
+ pos_clamped_region.mV[VX] = 0.f;
}
- else
+ else if (pos_clamped_region.mV[VX] >= region_width_meters)
{
- return LLVector3(0, 0, 0);
+ pos_clamped_region.mV[VX] = (F32) fmod(pos_clamped_region.mV[VX], region_width_meters);
}
+
+ if (pos_clamped_region.mV[VY] < 0.f)
+ {
+ pos_clamped_region.mV[VY] = 0.f;
+ }
+ else if (pos_clamped_region.mV[VY] >= region_width_meters)
+ {
+ pos_clamped_region.mV[VY] = (F32) fmod(pos_clamped_region.mV[VY], region_width_meters);
+ }
+
+
+ S32 i = llfloor(pos_clamped_region.mV[VX] * mSize / region_width_meters);
+ S32 j = llfloor(pos_clamped_region.mV[VY] * mSize / region_width_meters);
+ k = i + j*mSize;
+ dx = ((pos_clamped_region.mV[VX] * mSize / region_width_meters) - (F32) i);
+ dy = ((pos_clamped_region.mV[VY] * mSize / region_width_meters) - (F32) j);
+
+ if ((i < mSize-1) && (j < mSize-1))
+ {
+ // Interior points, no edges
+ r_val.mV[VX] = mCloudVelX[k]*(1.0f - dx)*(1.0f - dy) +
+ mCloudVelX[k + 1]*dx*(1.0f - dy) +
+ mCloudVelX[k + mSize]*dy*(1.0f - dx) +
+ mCloudVelX[k + mSize + 1]*dx*dy;
+ r_val.mV[VY] = mCloudVelY[k]*(1.0f - dx)*(1.0f - dy) +
+ mCloudVelY[k + 1]*dx*(1.0f - dy) +
+ mCloudVelY[k + mSize]*dy*(1.0f - dx) +
+ mCloudVelY[k + mSize + 1]*dx*dy;
+ }
+ else
+ {
+ r_val.mV[VX] = mCloudVelX[k];
+ r_val.mV[VY] = mCloudVelY[k];
+ }
+
+ r_val.mV[VZ] = 0.f;
+ return r_val * WIND_SCALE_HACK;
}
diff --git a/indra/newview/llwind.h b/indra/newview/llwind.h
index 83b04f0b2..7a4582d9d 100644
--- a/indra/newview/llwind.h
+++ b/indra/newview/llwind.h
@@ -42,7 +42,6 @@ class LLVector3;
class LLBitPack;
class LLGroupHeader;
-extern BOOL gUseLLWind;
class LLWind
{
@@ -59,7 +58,6 @@ public:
void setCloudDensityPointer(F32 *densityp);
void setOriginGlobal(const LLVector3d &origin_global);
-
private:
S32 mSize;
F32 * mVelX;
diff --git a/indra/newview/skins/default/textures/icn_toolbar_radar.tga b/indra/newview/skins/default/textures/icn_toolbar_radar.tga
deleted file mode 100644
index e1a814b1e..000000000
Binary files a/indra/newview/skins/default/textures/icn_toolbar_radar.tga and /dev/null differ
diff --git a/indra/newview/skins/default/xui/en-us/panel_toolbar.xml b/indra/newview/skins/default/xui/en-us/panel_toolbar.xml
index 726f30369..df00ca0b6 100644
--- a/indra/newview/skins/default/xui/en-us/panel_toolbar.xml
+++ b/indra/newview/skins/default/xui/en-us/panel_toolbar.xml
@@ -26,13 +26,12 @@
label_selected="Radar" left="0" name="radar_list_btn"
tool_tip="View a list of nearby avatars."
width="50" follows="left|right" user_resize="false"/>
-