summaryrefslogtreecommitdiff
path: root/indra/newview
diff options
context:
space:
mode:
Diffstat (limited to 'indra/newview')
-rw-r--r--indra/newview/llselectmgr.cpp23
-rw-r--r--indra/newview/llviewermedia.cpp14
-rw-r--r--indra/newview/llviewermedia.h2
-rw-r--r--indra/newview/llviewermediafocus.cpp7
-rw-r--r--indra/newview/llviewermediafocus.h2
-rw-r--r--indra/newview/skins/default/xui/en/floater_water.xml135
-rw-r--r--indra/newview/skins/default/xui/en/panel_notification.xml11
-rw-r--r--indra/newview/skins/default/xui/en/panel_preferences_sound.xml36
8 files changed, 96 insertions, 134 deletions
diff --git a/indra/newview/llselectmgr.cpp b/indra/newview/llselectmgr.cpp
index 26e668adb5..dd07a3c015 100644
--- a/indra/newview/llselectmgr.cpp
+++ b/indra/newview/llselectmgr.cpp
@@ -3406,7 +3406,7 @@ void LLSelectMgr::deselectAll()
{
return;
}
-
+
// Zap the angular velocity, as the sim will set it to zero
for (LLObjectSelection::iterator iter = mSelectedObjects->begin();
iter != mSelectedObjects->end(); iter++ )
@@ -3496,6 +3496,7 @@ void LLSelectMgr::deselectAllIfTooFar()
LLVector3d selectionCenter = getSelectionCenterGlobal();
if (gSavedSettings.getBOOL("LimitSelectDistance")
&& (!mSelectedObjects->getPrimaryObject() || !mSelectedObjects->getPrimaryObject()->isAvatar())
+ && (mSelectedObjects->getPrimaryObject() != LLViewerMediaFocus::getInstance()->getFocusedObject())
&& !mSelectedObjects->isAttachment()
&& !selectionCenter.isExactlyZero())
{
@@ -4912,6 +4913,7 @@ void LLSelectMgr::renderSilhouettes(BOOL for_hud)
{
inspect_item_id = inspect_instance->getSelectedUUID();
}
+ LLUUID focus_item_id = LLViewerMediaFocus::getInstance()->getFocusedObjectID();
for (S32 pass = 0; pass < 2; pass++)
{
for (LLObjectSelection::iterator iter = mSelectedObjects->begin();
@@ -4925,7 +4927,11 @@ void LLSelectMgr::renderSilhouettes(BOOL for_hud)
{
continue;
}
- if(objectp->getID() == inspect_item_id)
+ if (objectp->getID() == focus_item_id)
+ {
+ node->renderOneSilhouette(gFocusMgr.getFocusColor());
+ }
+ else if(objectp->getID() == inspect_item_id)
{
node->renderOneSilhouette(sHighlightInspectColor);
}
@@ -4979,19 +4985,6 @@ void LLSelectMgr::renderSilhouettes(BOOL for_hud)
}
}
-#if 0
- // Hilight focused media object
- {
- LLViewerObject* objectp = LLViewerMediaFocus::getInstance()->getFocusedObject();
- if(objectp)
- {
- // FIXME: how do I construct a silhouette for an object that's not selected?
- // Would we need to add another LLObjectSelectionHandle for this purpose?
- node->renderOneSilhouette(gFocusMgr.getFocusColor());
- }
- }
-#endif
-
if (for_hud && avatar)
{
glMatrixMode(GL_PROJECTION);
diff --git a/indra/newview/llviewermedia.cpp b/indra/newview/llviewermedia.cpp
index 55e4f28e75..40bf9fb1fe 100644
--- a/indra/newview/llviewermedia.cpp
+++ b/indra/newview/llviewermedia.cpp
@@ -658,6 +658,8 @@ LLViewerMediaImpl::LLViewerMediaImpl( const LLUUID& texture_id,
mMediaAutoScale(media_auto_scale),
mMediaLoop(media_loop),
mNeedsNewTexture(true),
+ mTextureUsedWidth(0),
+ mTextureUsedHeight(0),
mSuspendUpdates(false),
mVisible(true),
mLastSetCursor( UI_CURSOR_ARROW ),
@@ -1568,8 +1570,11 @@ LLViewerMediaTexture* LLViewerMediaImpl::updatePlaceholderImage()
if (mNeedsNewTexture
|| placeholder_image->getUseMipMaps()
- || placeholder_image->getWidth() != mMediaSource->getTextureWidth()
- || placeholder_image->getHeight() != mMediaSource->getTextureHeight())
+ || (placeholder_image->getWidth() != mMediaSource->getTextureWidth())
+ || (placeholder_image->getHeight() != mMediaSource->getTextureHeight())
+ || (mTextureUsedWidth > mMediaSource->getWidth())
+ || (mTextureUsedHeight > mMediaSource->getHeight())
+ )
{
LL_DEBUGS("Media") << "initializing media placeholder" << LL_ENDL;
LL_DEBUGS("Media") << "movie image id " << mTextureId << LL_ENDL;
@@ -1601,6 +1606,11 @@ LLViewerMediaTexture* LLViewerMediaImpl::updatePlaceholderImage()
// FIXME
// placeholder_image->mIsMediaTexture = true;
mNeedsNewTexture = false;
+
+ // If the amount of the texture being drawn by the media goes down in either width or height,
+ // recreate the texture to avoid leaving parts of the old image behind.
+ mTextureUsedWidth = mMediaSource->getWidth();
+ mTextureUsedHeight = mMediaSource->getHeight();
}
return placeholder_image;
diff --git a/indra/newview/llviewermedia.h b/indra/newview/llviewermedia.h
index d6dde0c93e..4cb0817735 100644
--- a/indra/newview/llviewermedia.h
+++ b/indra/newview/llviewermedia.h
@@ -306,6 +306,8 @@ public:
bool mMediaAutoScale;
bool mMediaLoop;
bool mNeedsNewTexture;
+ S32 mTextureUsedWidth;
+ S32 mTextureUsedHeight;
bool mSuspendUpdates;
bool mVisible;
ECursorType mLastSetCursor;
diff --git a/indra/newview/llviewermediafocus.cpp b/indra/newview/llviewermediafocus.cpp
index 657c58364f..b2a0fa4b1c 100644
--- a/indra/newview/llviewermediafocus.cpp
+++ b/indra/newview/llviewermediafocus.cpp
@@ -77,6 +77,10 @@ void LLViewerMediaFocus::setFocusFace(LLPointer<LLViewerObject> objectp, S32 fac
{
old_media_impl->focus(false);
}
+
+ // Always clear the current selection. If we're setting focus on a face, we'll reselect the correct object below.
+ LLSelectMgr::getInstance()->deselectAll();
+ mSelection = NULL;
if (media_impl.notNull() && objectp.notNull())
{
@@ -87,6 +91,9 @@ void LLViewerMediaFocus::setFocusFace(LLPointer<LLViewerObject> objectp, S32 fac
mFocusedObjectFace = face;
mFocusedObjectNormal = pick_normal;
+ // Set the selection in the selection manager so we can draw the focus ring.
+ mSelection = LLSelectMgr::getInstance()->selectObjectOnly(objectp, face);
+
// Focusing on a media face clears its disable flag.
media_impl->setDisabled(false);
diff --git a/indra/newview/llviewermediafocus.h b/indra/newview/llviewermediafocus.h
index e5f36d341c..89ee0ae283 100644
--- a/indra/newview/llviewermediafocus.h
+++ b/indra/newview/llviewermediafocus.h
@@ -76,6 +76,7 @@ public:
LLViewerMediaImpl* getFocusedMediaImpl();
LLViewerObject* getFocusedObject();
S32 getFocusedFace() { return mFocusedObjectFace; }
+ LLUUID getFocusedObjectID() { return mFocusedObjectID; }
// These look up (by uuid) and return the values that were set with setHoverFace. They will return null if the objects have been destroyed.
LLViewerMediaImpl* getHoverMediaImpl();
@@ -95,6 +96,7 @@ protected:
private:
LLHandle<LLPanelPrimMediaControls> mMediaControls;
+ LLObjectSelectionHandle mSelection;
LLUUID mFocusedObjectID;
S32 mFocusedObjectFace;
diff --git a/indra/newview/skins/default/xui/en/floater_water.xml b/indra/newview/skins/default/xui/en/floater_water.xml
index a6876dcf7d..b13a11c05d 100644
--- a/indra/newview/skins/default/xui/en/floater_water.xml
+++ b/indra/newview/skins/default/xui/en/floater_water.xml
@@ -16,7 +16,7 @@
type="string"
length="1"
follows="left|top|right"
- font="SansSerif"
+ font.style="BOLD"
height="16"
layout="topleft"
left="10"
@@ -28,7 +28,7 @@
<combo_box
height="18"
layout="topleft"
- left_delta="110"
+ left_pad="10"
name="WaterPresetsCombo"
top_delta="-2"
width="150" />
@@ -40,7 +40,7 @@
left_pad="20"
name="WaterNewPreset"
top_delta="1"
- width="70" />
+ width="90" />
<button
height="20"
label="Save"
@@ -49,7 +49,7 @@
left_pad="10"
name="WaterSavePreset"
top_delta="0"
- width="70" />
+ width="90" />
<button
height="20"
label="Delete"
@@ -58,8 +58,9 @@
left_pad="10"
name="WaterDeletePreset"
top_delta="0"
- width="70" />
+ width="90" />
<tab_container
+ border="false"
follows="left|top"
height="180"
halign="center"
@@ -67,20 +68,20 @@
left="0"
name="Water Tabs"
tab_position="top"
- tab_height="20"
top="60"
width="700">
<panel
border="true"
- follows="left|top|right|bottom"
+ border_color="EmphasisColor"
+ follows="all"
height="180"
label="Settings"
layout="topleft"
- left="1"
+ left="0"
mouse_opaque="false"
help_topic="water_settings_tab"
name="Settings"
- top="60"
+ top="0"
width="698">
<text
type="string"
@@ -92,11 +93,10 @@
left="10"
name="BHText"
top="4"
- width="355">
+ width="200">
Water Fog Color
</text>
<color_swatch
- border_color="0.45098 0.517647 0.607843 1"
can_apply_immediately="true"
color="0.5 0.5 0.5 1"
follows="left|top"
@@ -117,7 +117,7 @@
left="10"
name="WaterFogDensText"
top="74"
- width="355">
+ width="200">
Fog Density Exponent
</text>
<slider
@@ -142,7 +142,7 @@
left_delta="-14"
name="WaterUnderWaterFogModText"
top_delta="4"
- width="355">
+ width="200">
Underwater Fog Modifier
</text>
<slider
@@ -167,83 +167,44 @@
left="245"
name="BDensText"
top="4"
- width="355">
+ width="200">
Reflection Wavelet Scale
</text>
- <text
- type="string"
- length="1"
- follows="left|top|right"
- halign="center"
- height="16"
- layout="topleft"
- left="245"
- name="BHText2"
- top="21"
- width="10">
- 1
- </text>
- <text
- type="string"
- length="1"
- follows="left|top|right"
- halign="center"
- height="16"
- layout="topleft"
- left_delta="0"
- name="BHText3"
- top_delta="11"
- width="10">
- 2
- </text>
- <text
- type="string"
- length="1"
- follows="left|top|right"
- halign="center"
- height="16"
- layout="topleft"
- left_delta="0"
- name="BHText4"
- top_delta="11"
- width="10">
- 3
- </text>
<slider
control_name="WaterNormalScaleX"
decimal_digits="1"
follows="left"
- height="10"
+ height="15"
initial_value="0.7"
+ label="1"
layout="topleft"
- left_pad="4"
max_val="10"
name="WaterNormalScaleX"
- top_delta="-3"
+ top_pad="20"
width="200" />
<slider
control_name="WaterNormalScaleY"
decimal_digits="1"
follows="left"
- height="10"
+ height="15"
initial_value="0.7"
+ label="2"
layout="topleft"
- left_delta="0"
max_val="10"
name="WaterNormalScaleY"
- top_pad="1"
+ top_pad="0"
width="200" />
<slider
control_name="WaterNormalScaleZ"
decimal_digits="1"
follows="left"
- height="10"
+ height="15"
initial_value="0.7"
+ label="3"
layout="topleft"
- left_delta="0"
max_val="10"
name="WaterNormalScaleZ"
- top_pad="1"
+ top_pad="0"
width="200" />
<text
type="string"
@@ -252,10 +213,9 @@
font="SansSerif"
height="16"
layout="topleft"
- left_delta="-14"
name="HDText"
- top_delta="2"
- width="355">
+ top_pad="-10"
+ width="200">
Fresnel Scale
</text>
<slider
@@ -266,9 +226,8 @@
increment="0.01"
initial_value="0.7"
layout="topleft"
- left="259"
name="WaterFresnelScale"
- top="100"
+ top_pad="20"
width="200" />
<text
type="string"
@@ -277,10 +236,9 @@
font="SansSerif"
height="16"
layout="topleft"
- left_delta="-14"
name="FresnelOffsetText"
- top_delta="-1"
- width="355">
+ top_pad="-10"
+ width="200">
Fresnel Offset
</text>
<slider
@@ -291,9 +249,8 @@
increment="0.01"
initial_value="0.7"
layout="topleft"
- left="259"
name="WaterFresnelOffset"
- top="135"
+ top_pad="20"
width="200" />
<text
type="string"
@@ -305,7 +262,7 @@
left="480"
name="DensMultText"
top="4"
- width="355">
+ width="200">
Refract Scale Above
</text>
<slider
@@ -330,7 +287,7 @@
left_delta="-14"
name="WaterScaleBelowText"
top_delta="-3"
- width="355">
+ width="200">
Refract Scale Below
</text>
<slider
@@ -355,7 +312,7 @@
left_delta="-14"
name="MaxAltText"
top_delta="-2"
- width="355">
+ width="200">
Blur Multiplier
</text>
<slider
@@ -373,15 +330,15 @@
</panel>
<panel
border="true"
- follows="left|top|right|bottom"
+ follows="all"
height="180"
label="Image"
layout="topleft"
- left_delta="0"
+ left="0"
mouse_opaque="false"
help_topic="water_waves_tab"
name="Waves"
- top_delta="44"
+ top="0"
width="698">
<text
type="string"
@@ -392,8 +349,8 @@
layout="topleft"
left="10"
name="BHText"
- top="4"
- width="355">
+ top="10"
+ width="200">
Big Wave Direction
</text>
<text
@@ -405,7 +362,7 @@
layout="topleft"
left="10"
name="WaterWave1DirXText"
- top="21"
+ top_pad="4"
width="10">
X
</text>
@@ -418,7 +375,7 @@
layout="topleft"
left_delta="0"
name="WaterWave1DirYText"
- top_delta="11"
+ top_delta="18"
width="10">
Y
</text>
@@ -434,7 +391,7 @@
max_val="4"
min_val="-4"
name="WaterWave1DirX"
- top="40"
+ top="55"
width="200" />
<slider
control_name="WaterWave1DirY"
@@ -448,7 +405,7 @@
max_val="4"
min_val="-4"
name="WaterWave1DirY"
- top_pad="1"
+ top_pad="5"
width="200" />
<text
type="string"
@@ -472,7 +429,7 @@
layout="topleft"
left="10"
name="WaterWave2DirXText"
- top="71"
+ top="90"
width="10">
X
</text>
@@ -485,7 +442,7 @@
layout="topleft"
left_delta="0"
name="WaterWave2DirYText"
- top_delta="11"
+ top_delta="20"
width="10">
Y
</text>
@@ -501,7 +458,7 @@
max_val="4"
min_val="-4"
name="WaterWave2DirX"
- top="90"
+ top="115"
width="200" />
<slider
control_name="WaterWave2DirY"
@@ -515,7 +472,7 @@
max_val="4"
min_val="-4"
name="WaterWave2DirY"
- top_pad="1"
+ top_pad="10"
width="200" />
<text
type="string"
@@ -527,7 +484,7 @@
left="240"
name="BHText3"
top="4"
- width="355">
+ width="200">
Normal Map
</text>
<texture_picker
diff --git a/indra/newview/skins/default/xui/en/panel_notification.xml b/indra/newview/skins/default/xui/en/panel_notification.xml
index 0d34aa0f08..34a185fb44 100644
--- a/indra/newview/skins/default/xui/en/panel_notification.xml
+++ b/indra/newview/skins/default/xui/en/panel_notification.xml
@@ -2,9 +2,6 @@
<panel
background_opaque="false"
border_visible="false"
- border = "false"
- border_drop_shadow_visible = "false"
- drop_shadow_visible = "false"
background_visible="true"
bg_alpha_color="0.3 0.3 0.3 0"
bg_opaque_color="0.3 0.3 0.3 0"
@@ -18,12 +15,7 @@
<!-- THIS PANEL CONTROLS TOAST HEIGHT? -->
<panel
border_visible="false"
- drop_shadow="false"
bevel_style="none"
- border_style="none"
- border = "false"
- border_drop_shadow_visible = "false"
- drop_shadow_visible = "false"
background_visible="true"
bg_alpha_color="0.3 0.3 0.3 0"
bg_opaque_color="0.3 0.3 0.3 0"
@@ -67,9 +59,6 @@
v_pad="0"
bg_readonly_color="0.0 0.0 0.0 0"
border_visible="false"
- border = "false"
- border_drop_shadow_visible = "false"
- drop_shadow_visible = "false"
embedded_items="false"
enabled="false"
follows="left|right|top|bottom"
diff --git a/indra/newview/skins/default/xui/en/panel_preferences_sound.xml b/indra/newview/skins/default/xui/en/panel_preferences_sound.xml
index 78ae9a8224..c3e0cb352b 100644
--- a/indra/newview/skins/default/xui/en/panel_preferences_sound.xml
+++ b/indra/newview/skins/default/xui/en/panel_preferences_sound.xml
@@ -228,15 +228,18 @@
tab_stop="false"
top_delta="-2"
width="22" />
- <check_box
- height="16"
- control_name ="EnableVoiceChat"
- disabled_control="CmdLineDisableVoice"
- label="Enable Voice"
- layout="topleft"
- left="22"
+ <check_box
+ label_text.halign="left"
+ follows="right|top"
+ height="16"
+ control_name ="EnableVoiceChat"
+ disabled_control="CmdLineDisableVoice"
+ label="Voice"
+ left="50"
name="enable_voice_check"
- width="100">
+ top_pad="5"
+ width="110"
+ >
</check_box>
<slider
control_name="AudioLevelVoice"
@@ -246,16 +249,15 @@
height="15"
increment="0.05"
initial_value="0.5"
- label="Voice"
- label_width="60"
+ label_width="0"
layout="topleft"
- left="100"
+ left="165"
+ top_delta="0"
name="Voice Volume"
show_text="false"
slider_label.halign="right"
- top_pad="-15"
volume="true"
- width="250">
+ width="185">
<slider.commit_callback
function="Pref.setControlFalse"
parameter="MuteVoice" />
@@ -289,7 +291,7 @@
<icon
follows="left"
height="18"
- image_name="CameraView_Off"
+ image_name="Cam_FreeCam_Off"
name="camera_icon"
mouse_opaque="false"
visible="true"
@@ -316,13 +318,13 @@
height="16"
label="Camera position"
left_pad="1"
- follows="topleft"
+ follows="topleft"
name="0"
top_delta="-30"
width="200" />
<radio_item
height="16"
- follows="topleft"
+ follows="topleft"
label="Avatar position"
left_delta="0"
name="1"
@@ -401,7 +403,7 @@
My volume:
</text>
<slider_bar
- control_name="AudioLevelMic"
+ control_name="AudioLevelMic"
follows="left|top"
height="17"
increment="0.05"