diff options
-rw-r--r-- | ChangeLog.txt | 58 | ||||
-rw-r--r-- | linden/indra/llaudio/audioengine.h | 2 | ||||
-rw-r--r-- | linden/indra/llmath/xform.h | 2 | ||||
-rw-r--r-- | linden/indra/llmedia/llmediaimplgstreamer.cpp | 39 | ||||
-rw-r--r-- | linden/indra/llmedia/llmediaimplgstreamer.h | 1 | ||||
-rw-r--r-- | linden/indra/llmedia/llmediaobserver.h | 1 | ||||
-rw-r--r-- | linden/indra/newview/app_settings/settings.xml | 22 | ||||
-rw-r--r-- | linden/indra/newview/llmanipscale.cpp | 26 | ||||
-rw-r--r-- | linden/indra/newview/llmanipscale.h | 3 | ||||
-rw-r--r-- | linden/indra/newview/lloverlaybar.cpp | 49 | ||||
-rw-r--r-- | linden/indra/newview/llpanelobject.cpp | 4 | ||||
-rw-r--r-- | linden/indra/newview/llspatialpartition.cpp | 2 | ||||
-rw-r--r-- | linden/indra/newview/llstartup.cpp | 1 | ||||
-rw-r--r-- | linden/indra/newview/llviewermessage.cpp | 19 | ||||
-rw-r--r-- | linden/indra/newview/llvoavatar.cpp | 4 | ||||
-rw-r--r-- | linden/indra/newview/skins/default/xui/en-us/floater_tools.xml | 6 | ||||
-rw-r--r-- | linden/indra/newview/skins/default/xui/en-us/panel_preferences_audio.xml | 6 |
17 files changed, 215 insertions, 30 deletions
diff --git a/ChangeLog.txt b/ChangeLog.txt index 8c1722a..ab8c1d7 100644 --- a/ChangeLog.txt +++ b/ChangeLog.txt | |||
@@ -1,3 +1,38 @@ | |||
1 | 2009-09-20 McCabe Maxsted <hakushakukun@gmail.com> | ||
2 | |||
3 | * Dynamically change max prim size depending upon LL/OpenSim grid (added setting for opensim detection: LoggedIntoOpenSim). OpenSim max is 128m. | ||
4 | |||
5 | modified: linden/indra/llmath/xform.h | ||
6 | modified: linden/indra/newview/app_settings/settings | ||
7 | modified: linden/indra/newview/llmanipscale.cpp | ||
8 | modified: linden/indra/newview/llmanipscale.h | ||
9 | modified: linden/indra/newview/llpanelobject.cpp | ||
10 | modified: linden/indra/newview/llviewermessage.cpp | ||
11 | modified: linden/indra/newview/skins/default/xui/en-us/floater_tools.xml | ||
12 | |||
13 | |||
14 | * Fixed inventory offers not avatar name (another RLVa bug). | ||
15 | |||
16 | modified: linden/indra/newview/llviewermessage.cpp | ||
17 | |||
18 | |||
19 | * Fixed group titles showing up as ?. | ||
20 | |||
21 | modified: linden/indra/newview/llvoavatar.cpp | ||
22 | |||
23 | |||
24 | * Added adult compliant flag. | ||
25 | |||
26 | modified: linden/indra/newview/llstartup.cpp | ||
27 | |||
28 | |||
29 | 2009-09-18 McCabe Maxsted <hakushakukun@gmail.com> | ||
30 | |||
31 | * Applied patch by Aleric Inglewood for VWR-13996 - avatars using 1.22 completely invisible on first sight. | ||
32 | |||
33 | modified: linden/indra/newview/llspatialpartition.cpp | ||
34 | |||
35 | |||
1 | 2009-09-16 McCabe Maxsted <hakushakukun@gmail.com> | 36 | 2009-09-16 McCabe Maxsted <hakushakukun@gmail.com> |
2 | 37 | ||
3 | * Estate and track buttons now disable when they should, tweaked spacing. | 38 | * Estate and track buttons now disable when they should, tweaked spacing. |
@@ -606,6 +641,29 @@ | |||
606 | * Online/Offline notifications now always show in IM windows. | 641 | * Online/Offline notifications now always show in IM windows. |
607 | 642 | ||
608 | modified: linden/indra/newview/llcallingcard.cpp | 643 | modified: linden/indra/newview/llcallingcard.cpp |
644 | |||
645 | |||
646 | * Audio stream track info displayed in chat instead of notices. | ||
647 | |||
648 | modified: indra/newview/lloverlaybar.cpp | ||
649 | |||
650 | |||
651 | * Fixed stream info not updating. | ||
652 | |||
653 | modified: indra/llmedia/llmediaimplgstreamer.cpp | ||
654 | |||
655 | |||
656 | Dale Glass <email@unknown.com> | ||
657 | |||
658 | * VWR-12655: Add support for displaying the title of the song. | ||
659 | |||
660 | modified: indra/llaudio/audioengine.h | ||
661 | modified: indra/llmedia/llmediaimplgstreamer.cpp | ||
662 | modified: indra/llmedia/llmediaimplgstreamer.h | ||
663 | modified: indra/llmedia/llmediaobserver.h | ||
664 | modified: indra/newview/app_settings/settings.xml | ||
665 | modified: indra/newview/lloverlaybar.cpp | ||
666 | modified: indra/newview/skins/default/xui/en-us/panel_preferences_audio.xml | ||
609 | 667 | ||
610 | 668 | ||
611 | 2009-06-13 McCabe Maxsted <hakushakukun@gmail.com> | 669 | 2009-06-13 McCabe Maxsted <hakushakukun@gmail.com> |
diff --git a/linden/indra/llaudio/audioengine.h b/linden/indra/llaudio/audioengine.h index d289ba5..579f58f 100644 --- a/linden/indra/llaudio/audioengine.h +++ b/linden/indra/llaudio/audioengine.h | |||
@@ -182,6 +182,8 @@ public: | |||
182 | static void assetCallback(LLVFS *vfs, const LLUUID &uuid, LLAssetType::EType type, void *user_data, S32 result_code, LLExtStat ext_status); | 182 | static void assetCallback(LLVFS *vfs, const LLUUID &uuid, LLAssetType::EType type, void *user_data, S32 result_code, LLExtStat ext_status); |
183 | 183 | ||
184 | friend class LLPipeline; // For debugging | 184 | friend class LLPipeline; // For debugging |
185 | |||
186 | LLMediaBase * getStreamMedia() { return mInternetStreamMedia; } | ||
185 | public: | 187 | public: |
186 | F32 mMaxWindGain; // Hack. Public to set before fade in? | 188 | F32 mMaxWindGain; // Hack. Public to set before fade in? |
187 | 189 | ||
diff --git a/linden/indra/llmath/xform.h b/linden/indra/llmath/xform.h index 6f880cb..b41219c 100644 --- a/linden/indra/llmath/xform.h +++ b/linden/indra/llmath/xform.h | |||
@@ -37,7 +37,7 @@ | |||
37 | 37 | ||
38 | const F32 MAX_OBJECT_Z = 4096.f; // should match REGION_HEIGHT_METERS, Pre-havok4: 768.f | 38 | const F32 MAX_OBJECT_Z = 4096.f; // should match REGION_HEIGHT_METERS, Pre-havok4: 768.f |
39 | const F32 MIN_OBJECT_Z = -256.f; | 39 | const F32 MIN_OBJECT_Z = -256.f; |
40 | const F32 DEFAULT_MAX_PRIM_SCALE = 10.f; | 40 | //const F32 DEFAULT_MAX_PRIM_SCALE = 10.f; set in llmanipscale.cpp now |
41 | const F32 MIN_PRIM_SCALE = 0.01f; | 41 | const F32 MIN_PRIM_SCALE = 0.01f; |
42 | const F32 MAX_PRIM_SCALE = 65536.f; // something very high but not near FLT_MAX | 42 | const F32 MAX_PRIM_SCALE = 65536.f; // something very high but not near FLT_MAX |
43 | 43 | ||
diff --git a/linden/indra/llmedia/llmediaimplgstreamer.cpp b/linden/indra/llmedia/llmediaimplgstreamer.cpp index d1bab29..a9e0004 100644 --- a/linden/indra/llmedia/llmediaimplgstreamer.cpp +++ b/linden/indra/llmedia/llmediaimplgstreamer.cpp | |||
@@ -89,6 +89,7 @@ LLMediaImplGStreamer () : | |||
89 | mPump ( NULL ), | 89 | mPump ( NULL ), |
90 | mPlaybin ( NULL ), | 90 | mPlaybin ( NULL ), |
91 | mVideoSink ( NULL ), | 91 | mVideoSink ( NULL ), |
92 | mLastTitle ( "" ), | ||
92 | mState( GST_STATE_NULL ), | 93 | mState( GST_STATE_NULL ), |
93 | mPlayThread ( NULL ) | 94 | mPlayThread ( NULL ) |
94 | { | 95 | { |
@@ -470,6 +471,8 @@ gboolean LLMediaImplGStreamer::bus_callback(GstBus *bus, GstMessage *message, gp | |||
470 | case GST_STATE_PAUSED: | 471 | case GST_STATE_PAUSED: |
471 | break; | 472 | break; |
472 | case GST_STATE_PLAYING: | 473 | case GST_STATE_PLAYING: |
474 | //impl->mLastTitle = ""; | ||
475 | |||
473 | LLMediaEvent event( impl, 100 ); | 476 | LLMediaEvent event( impl, 100 ); |
474 | impl->getEventEmitter().update( &LLMediaObserver::onUpdateProgress, event ); | 477 | impl->getEventEmitter().update( &LLMediaObserver::onUpdateProgress, event ); |
475 | // emit an event to say that a media source was loaded | 478 | // emit an event to say that a media source was loaded |
@@ -521,18 +524,28 @@ gboolean LLMediaImplGStreamer::bus_callback(GstBus *bus, GstMessage *message, gp | |||
521 | } | 524 | } |
522 | case GST_MESSAGE_TAG: | 525 | case GST_MESSAGE_TAG: |
523 | { | 526 | { |
524 | GstTagList *tag_list; | 527 | GstTagList *new_tags; |
525 | gchar *title; | 528 | |
526 | gchar *artist; | 529 | gst_message_parse_tag( message, &new_tags ); |
527 | gst_message_parse_tag(message, &tag_list); | 530 | |
528 | gboolean hazTitle = gst_tag_list_get_string(tag_list, | 531 | gchar *title; |
529 | GST_TAG_TITLE, &title); | 532 | |
530 | gboolean hazArtist = gst_tag_list_get_string(tag_list, | 533 | if ( gst_tag_list_get_string(new_tags, GST_TAG_TITLE, &title) ) |
531 | GST_TAG_ARTIST, &artist); | 534 | { |
532 | if(hazTitle) | 535 | LL_INFOS("MediaInfo") << "Title: " << title << LL_ENDL; |
533 | LL_INFOS("MediaInfo") << "Title: " << title << LL_ENDL; | 536 | std::string newtitle(title); |
534 | if(hazArtist) | 537 | gst_tag_list_free(new_tags); |
535 | LL_INFOS("MediaInfo") << "Artist: " << artist << LL_ENDL; | 538 | |
539 | if ( newtitle != impl->mLastTitle && newtitle != "" ) | ||
540 | { | ||
541 | impl->mLastTitle = newtitle; | ||
542 | LLMediaEvent event( impl, impl->mLastTitle ); | ||
543 | impl->getEventEmitter().update( &LLMediaObserver::onMediaTitleChange, event ); | ||
544 | } | ||
545 | |||
546 | g_free(title); | ||
547 | } | ||
548 | |||
536 | break; | 549 | break; |
537 | } | 550 | } |
538 | case GST_MESSAGE_EOS: | 551 | case GST_MESSAGE_EOS: |
@@ -551,10 +564,10 @@ gboolean LLMediaImplGStreamer::bus_callback(GstBus *bus, GstMessage *message, gp | |||
551 | impl->addCommand(LLMediaBase::COMMAND_STOP); | 564 | impl->addCommand(LLMediaBase::COMMAND_STOP); |
552 | } | 565 | } |
553 | break; | 566 | break; |
567 | } | ||
554 | default: | 568 | default: |
555 | /* unhandled message */ | 569 | /* unhandled message */ |
556 | break; | 570 | break; |
557 | } | ||
558 | } | 571 | } |
559 | /* we want to be notified again the next time there is a message | 572 | /* we want to be notified again the next time there is a message |
560 | * on the bus, so return true (false means we want to stop watching | 573 | * on the bus, so return true (false means we want to stop watching |
diff --git a/linden/indra/llmedia/llmediaimplgstreamer.h b/linden/indra/llmedia/llmediaimplgstreamer.h index baefdaf..51a8c37 100644 --- a/linden/indra/llmedia/llmediaimplgstreamer.h +++ b/linden/indra/llmedia/llmediaimplgstreamer.h | |||
@@ -127,6 +127,7 @@ class LLMediaImplGStreamer: | |||
127 | GMainLoop *mPump; // event pump for this media | 127 | GMainLoop *mPump; // event pump for this media |
128 | GstElement *mPlaybin; | 128 | GstElement *mPlaybin; |
129 | GstSLVideo *mVideoSink; | 129 | GstSLVideo *mVideoSink; |
130 | std::string mLastTitle; | ||
130 | GstState mState; | 131 | GstState mState; |
131 | GstState getState() const { return mState; } | 132 | GstState getState() const { return mState; } |
132 | 133 | ||
diff --git a/linden/indra/llmedia/llmediaobserver.h b/linden/indra/llmedia/llmediaobserver.h index e6da4f6..97fed5f 100644 --- a/linden/indra/llmedia/llmediaobserver.h +++ b/linden/indra/llmedia/llmediaobserver.h | |||
@@ -102,6 +102,7 @@ class LLMediaObserver | |||
102 | virtual void onMediaSizeChange( const EventType& event_in ) { } | 102 | virtual void onMediaSizeChange( const EventType& event_in ) { } |
103 | virtual void onMediaContentsChange( const EventType& event_in ) { } | 103 | virtual void onMediaContentsChange( const EventType& event_in ) { } |
104 | virtual void onMediaStatusTextChange( const EventType& event_in ) { } | 104 | virtual void onMediaStatusTextChange( const EventType& event_in ) { } |
105 | virtual void onMediaTitleChange( const EventType &event_in ) { } | ||
105 | virtual void onNavigateBegin( const EventType& event_in ) { } | 106 | virtual void onNavigateBegin( const EventType& event_in ) { } |
106 | virtual void onNavigateComplete( const EventType& event_in ) { } | 107 | virtual void onNavigateComplete( const EventType& event_in ) { } |
107 | virtual void onUpdateProgress( const EventType& event_in ) { } | 108 | virtual void onUpdateProgress( const EventType& event_in ) { } |
diff --git a/linden/indra/newview/app_settings/settings.xml b/linden/indra/newview/app_settings/settings.xml index 7ce7d11..f4d853b 100644 --- a/linden/indra/newview/app_settings/settings.xml +++ b/linden/indra/newview/app_settings/settings.xml | |||
@@ -4720,6 +4720,17 @@ | |||
4720 | <key>Value</key> | 4720 | <key>Value</key> |
4721 | <integer>0</integer> | 4721 | <integer>0</integer> |
4722 | </map> | 4722 | </map> |
4723 | <key>LoggedIntoOpenSim</key> | ||
4724 | <map> | ||
4725 | <key>Comment</key> | ||
4726 | <string>Check whether or not we're in an OpenSimulator (default 0)</string> | ||
4727 | <key>Persist</key> | ||
4728 | <integer>1</integer> | ||
4729 | <key>Type</key> | ||
4730 | <string>Boolean</string> | ||
4731 | <key>Value</key> | ||
4732 | <integer>0</integer> | ||
4733 | </map> | ||
4723 | <key>LoginAsGod</key> | 4734 | <key>LoginAsGod</key> |
4724 | <map> | 4735 | <map> |
4725 | <key>Comment</key> | 4736 | <key>Comment</key> |
@@ -7524,6 +7535,17 @@ | |||
7524 | <key>Value</key> | 7535 | <key>Value</key> |
7525 | <integer>0</integer> | 7536 | <integer>0</integer> |
7526 | </map> | 7537 | </map> |
7538 | <key>ShowStreamTitle</key> | ||
7539 | <map> | ||
7540 | <key>Comment</key> | ||
7541 | <string>Show the title of the song playing on the parcel's stream</string> | ||
7542 | <key>Persist</key> | ||
7543 | <integer>1</integer> | ||
7544 | <key>Type</key> | ||
7545 | <string>Boolean</string> | ||
7546 | <key>Value</key> | ||
7547 | <integer>1</integer> | ||
7548 | </map> | ||
7527 | <key>ShowTangentBasis</key> | 7549 | <key>ShowTangentBasis</key> |
7528 | <map> | 7550 | <map> |
7529 | <key>Comment</key> | 7551 | <key>Comment</key> |
diff --git a/linden/indra/newview/llmanipscale.cpp b/linden/indra/newview/llmanipscale.cpp index 10cb0c3..5a67937 100644 --- a/linden/indra/newview/llmanipscale.cpp +++ b/linden/indra/newview/llmanipscale.cpp | |||
@@ -69,6 +69,8 @@ const F32 SNAP_GUIDE_SCREEN_LENGTH = 0.7f; | |||
69 | const F32 SELECTED_MANIPULATOR_SCALE = 1.2f; | 69 | const F32 SELECTED_MANIPULATOR_SCALE = 1.2f; |
70 | const F32 MANIPULATOR_SCALE_HALF_LIFE = 0.07f; | 70 | const F32 MANIPULATOR_SCALE_HALF_LIFE = 0.07f; |
71 | const S32 NUM_MANIPULATORS = 14; | 71 | const S32 NUM_MANIPULATORS = 14; |
72 | const F32 DEFAULT_LL_MAX_PRIM_SCALE = 10.f; | ||
73 | const F32 DEFAULT_OPENSIM_MAX_PRIM_SCALE = 128.f; | ||
72 | 74 | ||
73 | const LLManip::EManipPart MANIPULATOR_IDS[NUM_MANIPULATORS] = | 75 | const LLManip::EManipPart MANIPULATOR_IDS[NUM_MANIPULATORS] = |
74 | { | 76 | { |
@@ -173,6 +175,7 @@ LLManipScale::LLManipScale( LLToolComposite* composite ) | |||
173 | mScaledBoxHandleSize( 1.f ), | 175 | mScaledBoxHandleSize( 1.f ), |
174 | mLastMouseX( -1 ), | 176 | mLastMouseX( -1 ), |
175 | mLastMouseY( -1 ), | 177 | mLastMouseY( -1 ), |
178 | mMaxPrimSize(0.f), | ||
176 | mSendUpdateOnMouseUp( FALSE ), | 179 | mSendUpdateOnMouseUp( FALSE ), |
177 | mLastUpdateFlags( 0 ), | 180 | mLastUpdateFlags( 0 ), |
178 | mScaleSnapUnit1(1.f), | 181 | mScaleSnapUnit1(1.f), |
@@ -201,6 +204,7 @@ void LLManipScale::render() | |||
201 | LLGLDepthTest gls_depth(GL_TRUE); | 204 | LLGLDepthTest gls_depth(GL_TRUE); |
202 | LLGLEnable gl_blend(GL_BLEND); | 205 | LLGLEnable gl_blend(GL_BLEND); |
203 | LLGLEnable gls_alpha_test(GL_ALPHA_TEST); | 206 | LLGLEnable gls_alpha_test(GL_ALPHA_TEST); |
207 | mMaxPrimSize = gSavedSettings.getBOOL("LoggedIntoOpenSim") ? DEFAULT_OPENSIM_MAX_PRIM_SCALE : DEFAULT_LL_MAX_PRIM_SCALE; | ||
204 | 208 | ||
205 | if( canAffectSelection() ) | 209 | if( canAffectSelection() ) |
206 | { | 210 | { |
@@ -952,8 +956,8 @@ void LLManipScale::dragCorner( S32 x, S32 y ) | |||
952 | mInSnapRegime = FALSE; | 956 | mInSnapRegime = FALSE; |
953 | } | 957 | } |
954 | 958 | ||
955 | F32 max_scale_factor = DEFAULT_MAX_PRIM_SCALE / MIN_PRIM_SCALE; | 959 | F32 max_scale_factor = mMaxPrimSize / MIN_PRIM_SCALE; |
956 | F32 min_scale_factor = MIN_PRIM_SCALE / DEFAULT_MAX_PRIM_SCALE; | 960 | F32 min_scale_factor = MIN_PRIM_SCALE / mMaxPrimSize; |
957 | 961 | ||
958 | // find max and min scale factors that will make biggest object hit max absolute scale and smallest object hit min absolute scale | 962 | // find max and min scale factors that will make biggest object hit max absolute scale and smallest object hit min absolute scale |
959 | for (LLObjectSelection::iterator iter = mObjectSelection->begin(); | 963 | for (LLObjectSelection::iterator iter = mObjectSelection->begin(); |
@@ -965,7 +969,7 @@ void LLManipScale::dragCorner( S32 x, S32 y ) | |||
965 | { | 969 | { |
966 | const LLVector3& scale = selectNode->mSavedScale; | 970 | const LLVector3& scale = selectNode->mSavedScale; |
967 | 971 | ||
968 | F32 cur_max_scale_factor = llmin( DEFAULT_MAX_PRIM_SCALE / scale.mV[VX], DEFAULT_MAX_PRIM_SCALE / scale.mV[VY], DEFAULT_MAX_PRIM_SCALE / scale.mV[VZ] ); | 972 | F32 cur_max_scale_factor = llmin( mMaxPrimSize / scale.mV[VX], mMaxPrimSize / scale.mV[VY], mMaxPrimSize / scale.mV[VZ] ); |
969 | max_scale_factor = llmin( max_scale_factor, cur_max_scale_factor ); | 973 | max_scale_factor = llmin( max_scale_factor, cur_max_scale_factor ); |
970 | 974 | ||
971 | F32 cur_min_scale_factor = llmax( MIN_PRIM_SCALE / scale.mV[VX], MIN_PRIM_SCALE / scale.mV[VY], MIN_PRIM_SCALE / scale.mV[VZ] ); | 975 | F32 cur_min_scale_factor = llmax( MIN_PRIM_SCALE / scale.mV[VX], MIN_PRIM_SCALE / scale.mV[VY], MIN_PRIM_SCALE / scale.mV[VZ] ); |
@@ -1262,7 +1266,7 @@ void LLManipScale::stretchFace( const LLVector3& drag_start_agent, const LLVecto | |||
1262 | 1266 | ||
1263 | F32 denom = axis * dir_local; | 1267 | F32 denom = axis * dir_local; |
1264 | F32 desired_delta_size = is_approx_zero(denom) ? 0.f : (delta_local_mag / denom); // in meters | 1268 | F32 desired_delta_size = is_approx_zero(denom) ? 0.f : (delta_local_mag / denom); // in meters |
1265 | F32 desired_scale = llclamp(selectNode->mSavedScale.mV[axis_index] + desired_delta_size, MIN_PRIM_SCALE, DEFAULT_MAX_PRIM_SCALE); | 1269 | F32 desired_scale = llclamp(selectNode->mSavedScale.mV[axis_index] + desired_delta_size, MIN_PRIM_SCALE, mMaxPrimSize); |
1266 | // propagate scale constraint back to position offset | 1270 | // propagate scale constraint back to position offset |
1267 | desired_delta_size = desired_scale - selectNode->mSavedScale.mV[axis_index]; // propagate constraint back to position | 1271 | desired_delta_size = desired_scale - selectNode->mSavedScale.mV[axis_index]; // propagate constraint back to position |
1268 | 1272 | ||
@@ -1962,7 +1966,7 @@ F32 LLManipScale::partToMaxScale( S32 part, const LLBBox &bbox ) const | |||
1962 | max_extent = bbox_extents.mV[i]; | 1966 | max_extent = bbox_extents.mV[i]; |
1963 | } | 1967 | } |
1964 | } | 1968 | } |
1965 | max_scale_factor = bbox_extents.magVec() * DEFAULT_MAX_PRIM_SCALE / max_extent; | 1969 | max_scale_factor = bbox_extents.magVec() * mMaxPrimSize / max_extent; |
1966 | 1970 | ||
1967 | if (getUniform()) | 1971 | if (getUniform()) |
1968 | { | 1972 | { |
@@ -1977,7 +1981,7 @@ F32 LLManipScale::partToMinScale( S32 part, const LLBBox &bbox ) const | |||
1977 | { | 1981 | { |
1978 | LLVector3 bbox_extents = unitVectorToLocalBBoxExtent( partToUnitVector( part ), bbox ); | 1982 | LLVector3 bbox_extents = unitVectorToLocalBBoxExtent( partToUnitVector( part ), bbox ); |
1979 | bbox_extents.abs(); | 1983 | bbox_extents.abs(); |
1980 | F32 min_extent = DEFAULT_MAX_PRIM_SCALE; | 1984 | F32 min_extent = mMaxPrimSize; |
1981 | for (U32 i = VX; i <= VZ; i++) | 1985 | for (U32 i = VX; i <= VZ; i++) |
1982 | { | 1986 | { |
1983 | if (bbox_extents.mV[i] > 0.f && bbox_extents.mV[i] < min_extent) | 1987 | if (bbox_extents.mV[i] > 0.f && bbox_extents.mV[i] < min_extent) |
@@ -2052,3 +2056,13 @@ BOOL LLManipScale::canAffectSelection() | |||
2052 | } | 2056 | } |
2053 | return can_scale; | 2057 | return can_scale; |
2054 | } | 2058 | } |
2059 | |||
2060 | //static | ||
2061 | F32 LLManipScale::getMaxPrimSize() | ||
2062 | { | ||
2063 | if (gSavedSettings.getBOOL("LoggedIntoOpenSim")) | ||
2064 | { | ||
2065 | return DEFAULT_OPENSIM_MAX_PRIM_SCALE; | ||
2066 | } | ||
2067 | return DEFAULT_LL_MAX_PRIM_SCALE; | ||
2068 | } | ||
diff --git a/linden/indra/newview/llmanipscale.h b/linden/indra/newview/llmanipscale.h index 98d8c63..c60cb69 100644 --- a/linden/indra/newview/llmanipscale.h +++ b/linden/indra/newview/llmanipscale.h | |||
@@ -88,6 +88,8 @@ public: | |||
88 | static void setShowAxes( BOOL b ); | 88 | static void setShowAxes( BOOL b ); |
89 | static BOOL getShowAxes(); | 89 | static BOOL getShowAxes(); |
90 | 90 | ||
91 | static F32 getMaxPrimSize(); | ||
92 | |||
91 | private: | 93 | private: |
92 | void renderCorners( const LLBBox& local_bbox ); | 94 | void renderCorners( const LLBBox& local_bbox ); |
93 | void renderFaces( const LLBBox& local_bbox ); | 95 | void renderFaces( const LLBBox& local_bbox ); |
@@ -165,6 +167,7 @@ private: | |||
165 | F32 mScaleSnapValue; | 167 | F32 mScaleSnapValue; |
166 | BOOL mInSnapRegime; | 168 | BOOL mInSnapRegime; |
167 | F32* mManipulatorScales; | 169 | F32* mManipulatorScales; |
170 | F32 mMaxPrimSize; | ||
168 | }; | 171 | }; |
169 | 172 | ||
170 | #endif // LL_MANIPSCALE_H | 173 | #endif // LL_MANIPSCALE_H |
diff --git a/linden/indra/newview/lloverlaybar.cpp b/linden/indra/newview/lloverlaybar.cpp index 12c001e..c1a2354 100644 --- a/linden/indra/newview/lloverlaybar.cpp +++ b/linden/indra/newview/lloverlaybar.cpp | |||
@@ -41,6 +41,7 @@ | |||
41 | #include "llagent.h" | 41 | #include "llagent.h" |
42 | #include "llbutton.h" | 42 | #include "llbutton.h" |
43 | #include "llchatbar.h" | 43 | #include "llchatbar.h" |
44 | #include "llfloaterchat.h" | ||
44 | #include "llfocusmgr.h" | 45 | #include "llfocusmgr.h" |
45 | #include "llimview.h" | 46 | #include "llimview.h" |
46 | #include "llmediaremotectrl.h" | 47 | #include "llmediaremotectrl.h" |
@@ -73,6 +74,53 @@ LLOverlayBar *gOverlayBar = NULL; | |||
73 | 74 | ||
74 | extern S32 MENU_BAR_HEIGHT; | 75 | extern S32 MENU_BAR_HEIGHT; |
75 | 76 | ||
77 | |||
78 | class LLTitleObserver | ||
79 | : public LLMediaObserver | ||
80 | { | ||
81 | public: | ||
82 | void init(std::string url); | ||
83 | /*virtual*/ void onMediaTitleChange(const EventType& event_in); | ||
84 | private: | ||
85 | LLMediaBase* mMediaSource; | ||
86 | }; | ||
87 | |||
88 | static LLTitleObserver sTitleObserver; | ||
89 | |||
90 | static LLRegisterWidget<LLMediaRemoteCtrl> r("media_remote"); | ||
91 | |||
92 | void LLTitleObserver::init(std::string url) | ||
93 | { | ||
94 | |||
95 | if (!gAudiop) | ||
96 | { | ||
97 | return; | ||
98 | } | ||
99 | |||
100 | mMediaSource = gAudiop->getStreamMedia(); // LLViewerMedia::getSource(); | ||
101 | |||
102 | if ( mMediaSource ) | ||
103 | { | ||
104 | mMediaSource->addObserver(this); | ||
105 | } | ||
106 | } | ||
107 | |||
108 | //virtual | ||
109 | void LLTitleObserver::onMediaTitleChange(const EventType& event_in) | ||
110 | { | ||
111 | if ( !gSavedSettings.getBOOL("ShowStreamTitle") ) | ||
112 | { | ||
113 | return; | ||
114 | } | ||
115 | |||
116 | LLChat chat; | ||
117 | //TODO: set this in XUI | ||
118 | std::string playing_msg = "Playing: " + event_in.getStringValue(); | ||
119 | chat.mText = playing_msg; | ||
120 | LLFloaterChat::addChat(chat, FALSE, FALSE); | ||
121 | } | ||
122 | |||
123 | |||
76 | // | 124 | // |
77 | // Functions | 125 | // Functions |
78 | // | 126 | // |
@@ -429,6 +477,7 @@ void LLOverlayBar::toggleMusicPlay(void*) | |||
429 | // if ( gAudiop->isInternetStreamPlaying() == 0 ) | 477 | // if ( gAudiop->isInternetStreamPlaying() == 0 ) |
430 | { | 478 | { |
431 | gAudiop->startInternetStream(parcel->getMusicURL()); | 479 | gAudiop->startInternetStream(parcel->getMusicURL()); |
480 | sTitleObserver.init(parcel->getMusicURL()); | ||
432 | } | 481 | } |
433 | } | 482 | } |
434 | } | 483 | } |
diff --git a/linden/indra/newview/llpanelobject.cpp b/linden/indra/newview/llpanelobject.cpp index dd71a0e..9dcf410 100644 --- a/linden/indra/newview/llpanelobject.cpp +++ b/linden/indra/newview/llpanelobject.cpp | |||
@@ -631,6 +631,10 @@ void LLPanelObject::getState( ) | |||
631 | } | 631 | } |
632 | else | 632 | else |
633 | { | 633 | { |
634 | mCtrlScaleX->setMaxValue(LLManipScale::getMaxPrimSize()); | ||
635 | mCtrlScaleY->setMaxValue(LLManipScale::getMaxPrimSize()); | ||
636 | mCtrlScaleZ->setMaxValue(LLManipScale::getMaxPrimSize()); | ||
637 | |||
634 | // Only allowed to change these parameters for objects | 638 | // Only allowed to change these parameters for objects |
635 | // that you have permissions on AND are not attachments. | 639 | // that you have permissions on AND are not attachments. |
636 | enabled = root_objectp->permModify(); | 640 | enabled = root_objectp->permModify(); |
diff --git a/linden/indra/newview/llspatialpartition.cpp b/linden/indra/newview/llspatialpartition.cpp index 127fca2..cdca5d5 100644 --- a/linden/indra/newview/llspatialpartition.cpp +++ b/linden/indra/newview/llspatialpartition.cpp | |||
@@ -563,7 +563,7 @@ void LLSpatialGroup::rebuildGeom() | |||
563 | 563 | ||
564 | void LLSpatialPartition::rebuildGeom(LLSpatialGroup* group) | 564 | void LLSpatialPartition::rebuildGeom(LLSpatialGroup* group) |
565 | { | 565 | { |
566 | if (group->changeLOD()) | 566 | if (!LLPipeline::sSkipUpdate && group->changeLOD()) |
567 | { | 567 | { |
568 | group->mLastUpdateDistance = group->mDistance; | 568 | group->mLastUpdateDistance = group->mDistance; |
569 | group->mLastUpdateViewAngle = group->mViewAngle; | 569 | group->mLastUpdateViewAngle = group->mViewAngle; |
diff --git a/linden/indra/newview/llstartup.cpp b/linden/indra/newview/llstartup.cpp index 8d5aa9e..ea08298 100644 --- a/linden/indra/newview/llstartup.cpp +++ b/linden/indra/newview/llstartup.cpp | |||
@@ -1025,6 +1025,7 @@ bool idle_startup() | |||
1025 | requested_options.push_back("event_categories"); | 1025 | requested_options.push_back("event_categories"); |
1026 | requested_options.push_back("event_notifications"); | 1026 | requested_options.push_back("event_notifications"); |
1027 | requested_options.push_back("classified_categories"); | 1027 | requested_options.push_back("classified_categories"); |
1028 | requested_options.push_back("adult_compliant"); | ||
1028 | //requested_options.push_back("inventory-targets"); | 1029 | //requested_options.push_back("inventory-targets"); |
1029 | requested_options.push_back("buddy-list"); | 1030 | requested_options.push_back("buddy-list"); |
1030 | requested_options.push_back("ui-config"); | 1031 | requested_options.push_back("ui-config"); |
diff --git a/linden/indra/newview/llviewermessage.cpp b/linden/indra/newview/llviewermessage.cpp index e326dac..d5d9324 100644 --- a/linden/indra/newview/llviewermessage.cpp +++ b/linden/indra/newview/llviewermessage.cpp | |||
@@ -1266,7 +1266,7 @@ void inventory_offer_handler(LLOfferInfo* info, BOOL from_task) | |||
1266 | if (gCacheName->getName(info->mFromID, first_name, last_name)) | 1266 | if (gCacheName->getName(info->mFromID, first_name, last_name)) |
1267 | { | 1267 | { |
1268 | // [RLVa:KB] - Version: 1.22.11 | Checked: 2009-07-08 (RLVa-1.0.0e) | 1268 | // [RLVa:KB] - Version: 1.22.11 | Checked: 2009-07-08 (RLVa-1.0.0e) |
1269 | if ( (gRlvHandler.hasBehaviour(RLV_BHVR_SHOWNAMES)) && (gRlvHandler.isAgentNearby(info->mFromID)) ) | 1269 | if ( (rlv_handler_t::isEnabled()) && (gRlvHandler.hasBehaviour(RLV_BHVR_SHOWNAMES)) && (gRlvHandler.isAgentNearby(info->mFromID)) ) |
1270 | { | 1270 | { |
1271 | first_name = gRlvHandler.getAnonym(first_name.append(" ").append(last_name)); | 1271 | first_name = gRlvHandler.getAnonym(first_name.append(" ").append(last_name)); |
1272 | last_name.clear(); | 1272 | last_name.clear(); |
@@ -1287,12 +1287,15 @@ void inventory_offer_handler(LLOfferInfo* info, BOOL from_task) | |||
1287 | { | 1287 | { |
1288 | // *TODO:translate -> [FIRST] [LAST] | 1288 | // *TODO:translate -> [FIRST] [LAST] |
1289 | // [RLVa:KB] - Version: 1.22.11 | Checked: 2009-07-08 (RLVa-1.0.0e) | 1289 | // [RLVa:KB] - Version: 1.22.11 | Checked: 2009-07-08 (RLVa-1.0.0e) |
1290 | if ( (gRlvHandler.hasBehaviour(RLV_BHVR_SHOWNAMES)) && (gRlvHandler.isAgentNearby(info->mFromID)) ) | 1290 | if ( (rlv_handler_t::isEnabled()) && (gRlvHandler.hasBehaviour(RLV_BHVR_SHOWNAMES)) && (gRlvHandler.isAgentNearby(info->mFromID)) ) |
1291 | { | 1291 | { |
1292 | args["[NAME]"] = gRlvHandler.getAnonym(info->mFromName); | 1292 | args["[NAME]"] = gRlvHandler.getAnonym(info->mFromName); |
1293 | } | 1293 | } |
1294 | // [/RLVa:KB] | 1294 | // [/RLVa:KB] |
1295 | //args["[NAME]"] = info->mFromName; | 1295 | else |
1296 | { | ||
1297 | args["[NAME]"] = info->mFromName; | ||
1298 | } | ||
1296 | LLNotifyBox::showXml("UserGiveItem", args, | 1299 | LLNotifyBox::showXml("UserGiveItem", args, |
1297 | &inventory_offer_callback, (void*)info); | 1300 | &inventory_offer_callback, (void*)info); |
1298 | } | 1301 | } |
@@ -3152,6 +3155,7 @@ void process_agent_movement_complete(LLMessageSystem* msg, void**) | |||
3152 | 3155 | ||
3153 | // If the server version has changed, display an info box and offer | 3156 | // If the server version has changed, display an info box and offer |
3154 | // to display the release notes, unless this is the initial log in. | 3157 | // to display the release notes, unless this is the initial log in. |
3158 | // Also verify we're on an OpenSimulator here. | ||
3155 | if (gLastVersionChannel == version_channel) | 3159 | if (gLastVersionChannel == version_channel) |
3156 | { | 3160 | { |
3157 | return; | 3161 | return; |
@@ -3163,6 +3167,15 @@ void process_agent_movement_complete(LLMessageSystem* msg, void**) | |||
3163 | "ServerVersionChanged", display_release_notes, NULL); | 3167 | "ServerVersionChanged", display_release_notes, NULL); |
3164 | } | 3168 | } |
3165 | 3169 | ||
3170 | if (version_channel.find("OpenSim") != std::string::npos) | ||
3171 | { | ||
3172 | gSavedSettings.setBOOL("LoggedIntoOpenSim", TRUE); | ||
3173 | } | ||
3174 | else | ||
3175 | { | ||
3176 | gSavedSettings.setBOOL("LoggedIntoOpenSim", FALSE); | ||
3177 | } | ||
3178 | |||
3166 | gLastVersionChannel = version_channel; | 3179 | gLastVersionChannel = version_channel; |
3167 | } | 3180 | } |
3168 | 3181 | ||
diff --git a/linden/indra/newview/llvoavatar.cpp b/linden/indra/newview/llvoavatar.cpp index 158977e..24272d8 100644 --- a/linden/indra/newview/llvoavatar.cpp +++ b/linden/indra/newview/llvoavatar.cpp | |||
@@ -3261,7 +3261,7 @@ void LLVOAvatar::idleUpdateNameTag(const LLVector3& root_pos_last) | |||
3261 | if (title && title->getString() && title->getString()[0] != '\0') | 3261 | if (title && title->getString() && title->getString()[0] != '\0') |
3262 | { | 3262 | { |
3263 | line += title->getString(); | 3263 | line += title->getString(); |
3264 | LLStringFn::replace_nonprintable(line,LL_UNKNOWN_CHAR); | 3264 | //LLStringFn::replace_nonprintable(line,LL_UNKNOWN_CHAR); IMP-136 -- MC |
3265 | line += "\n"; | 3265 | line += "\n"; |
3266 | line += firstname->getString(); | 3266 | line += firstname->getString(); |
3267 | } | 3267 | } |
@@ -3321,7 +3321,7 @@ void LLVOAvatar::idleUpdateNameTag(const LLVector3& root_pos_last) | |||
3321 | mNameMute = is_muted; | 3321 | mNameMute = is_muted; |
3322 | mNameAppearance = is_appearance; | 3322 | mNameAppearance = is_appearance; |
3323 | mTitle = title ? title->getString() : ""; | 3323 | mTitle = title ? title->getString() : ""; |
3324 | LLStringFn::replace_nonprintable(mTitle,LL_UNKNOWN_CHAR); | 3324 | //LLStringFn::replace_nonprintable(mTitle,LL_UNKNOWN_CHAR); IMP-136 -- MC |
3325 | mNameString = utf8str_to_wstring(line); | 3325 | mNameString = utf8str_to_wstring(line); |
3326 | new_name = TRUE; | 3326 | new_name = TRUE; |
3327 | } | 3327 | } |
diff --git a/linden/indra/newview/skins/default/xui/en-us/floater_tools.xml b/linden/indra/newview/skins/default/xui/en-us/floater_tools.xml index bc18f44..a57c568 100644 --- a/linden/indra/newview/skins/default/xui/en-us/floater_tools.xml +++ b/linden/indra/newview/skins/default/xui/en-us/floater_tools.xml | |||
@@ -660,15 +660,15 @@ | |||
660 | </text> | 660 | </text> |
661 | <spinner bottom_delta="-20" decimal_digits="3" follows="left|top" height="16" | 661 | <spinner bottom_delta="-20" decimal_digits="3" follows="left|top" height="16" |
662 | increment="0.01" initial_val="0" label="X" label_width="10" left="10" | 662 | increment="0.01" initial_val="0" label="X" label_width="10" left="10" |
663 | max_val="10" min_val="0.01" mouse_opaque="true" name="Scale X" | 663 | min_val="0.01" mouse_opaque="true" name="Scale X" |
664 | text_enabled_color="1, 1, 1, 1" width="96" /> | 664 | text_enabled_color="1, 1, 1, 1" width="96" /> |
665 | <spinner bottom_delta="-18" decimal_digits="3" follows="left|top" height="16" | 665 | <spinner bottom_delta="-18" decimal_digits="3" follows="left|top" height="16" |
666 | increment="0.01" initial_val="0" label="Y" label_width="10" left="10" | 666 | increment="0.01" initial_val="0" label="Y" label_width="10" left="10" |
667 | max_val="10" min_val="0.01" mouse_opaque="true" name="Scale Y" | 667 | min_val="0.01" mouse_opaque="true" name="Scale Y" |
668 | text_enabled_color="1, 1, 1, 1" width="96" /> | 668 | text_enabled_color="1, 1, 1, 1" width="96" /> |
669 | <spinner bottom_delta="-18" decimal_digits="3" follows="left|top" height="16" | 669 | <spinner bottom_delta="-18" decimal_digits="3" follows="left|top" height="16" |
670 | increment="0.01" initial_val="0" label="Z" label_width="10" left="10" | 670 | increment="0.01" initial_val="0" label="Z" label_width="10" left="10" |
671 | max_val="10" min_val="0.01" mouse_opaque="true" name="Scale Z" | 671 | min_val="0.01" mouse_opaque="true" name="Scale Z" |
672 | text_enabled_color="1, 1, 1, 1" width="96" /> | 672 | text_enabled_color="1, 1, 1, 1" width="96" /> |
673 | <text bg_visible="false" border_drop_shadow_visible="false" border_visible="false" | 673 | <text bg_visible="false" border_drop_shadow_visible="false" border_visible="false" |
674 | bottom_delta="-16" drop_shadow_visible="true" follows="left|top" | 674 | bottom_delta="-16" drop_shadow_visible="true" follows="left|top" |
diff --git a/linden/indra/newview/skins/default/xui/en-us/panel_preferences_audio.xml b/linden/indra/newview/skins/default/xui/en-us/panel_preferences_audio.xml index 92978ab..c960d36 100644 --- a/linden/indra/newview/skins/default/xui/en-us/panel_preferences_audio.xml +++ b/linden/indra/newview/skins/default/xui/en-us/panel_preferences_audio.xml | |||
@@ -15,7 +15,7 @@ | |||
15 | Streaming Preferences: | 15 | Streaming Preferences: |
16 | </text> | 16 | </text> |
17 | <text type="string" length="1" bg_visible="false" border_drop_shadow_visible="false" border_visible="false" | 17 | <text type="string" length="1" bg_visible="false" border_drop_shadow_visible="false" border_visible="false" |
18 | bottom="-280" drop_shadow_visible="true" enabled="true" follows="left|top" | 18 | bottom="-300" drop_shadow_visible="true" enabled="true" follows="left|top" |
19 | font="SansSerifSmall" h_pad="0" halign="left" height="12" left="10" | 19 | font="SansSerifSmall" h_pad="0" halign="left" height="12" left="10" |
20 | mouse_opaque="true" name="audio_prefs_text" v_pad="0" width="128"> | 20 | mouse_opaque="true" name="audio_prefs_text" v_pad="0" width="128"> |
21 | Audio Preferences: | 21 | Audio Preferences: |
@@ -28,6 +28,10 @@ | |||
28 | label="Play Streaming Music When Available (uses more bandwidth)" | 28 | label="Play Streaming Music When Available (uses more bandwidth)" |
29 | left="142" mouse_opaque="true" name="streaming_music" radio_style="false" | 29 | left="142" mouse_opaque="true" name="streaming_music" radio_style="false" |
30 | width="339" /> | 30 | width="339" /> |
31 | <check_box bottom_delta="-20" control_name="ShowStreamTitle" enabled="true" | ||
32 | follows="left|top" font="SansSerifSmall" height="16" initial_value="true" | ||
33 | label="Show stream info in chat" left="162" mouse_opaque="true" | ||
34 | name="show_stream_title" radio_style="false" width="338" /> | ||
31 | <check_box bottom_delta="-20" control_name="AudioStreamingVideo" enabled="true" | 35 | <check_box bottom_delta="-20" control_name="AudioStreamingVideo" enabled="true" |
32 | follows="left|top" font="SansSerifSmall" height="16" initial_value="true" | 36 | follows="left|top" font="SansSerifSmall" height="16" initial_value="true" |
33 | label="Play Streaming Media When Available (uses more bandwidth)" | 37 | label="Play Streaming Media When Available (uses more bandwidth)" |