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 - - Comment - Disables LLWind's methods and returns nothing if enabled (saves FPS) - Persist - 1 - Type - Boolean - Value - 0 - 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"/> -