Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Black Dragon Viewer
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Locked Files
Issues
1
Issues
1
List
Boards
Labels
Service Desk
Milestones
Iterations
Merge Requests
0
Merge Requests
0
Requirements
Requirements
List
Security & Compliance
Security & Compliance
Dependency List
License Compliance
Operations
Operations
Incidents
Packages & Registries
Packages & Registries
Package Registry
Analytics
Analytics
Code Review
Insights
Issue
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
NiranV
Black Dragon Viewer
Commits
bf45715c
Commit
bf45715c
authored
Mar 03, 2020
by
NiranV
Browse files
Options
Browse Files
Download
Plain Diff
Merged Linden Release.
parents
52766916
47622f0a
Changes
25
Hide whitespace changes
Inline
Side-by-side
Showing
25 changed files
with
197 additions
and
49 deletions
+197
-49
indra/newview/VIEWER_VERSION.txt
indra/newview/VIEWER_VERSION.txt
+1
-1
indra/newview/llaudiosourcevo.cpp
indra/newview/llaudiosourcevo.cpp
+79
-19
indra/newview/llaudiosourcevo.h
indra/newview/llaudiosourcevo.h
+4
-0
indra/newview/llconversationview.cpp
indra/newview/llconversationview.cpp
+1
-1
indra/newview/llfloatermodelpreview.cpp
indra/newview/llfloatermodelpreview.cpp
+25
-4
indra/newview/llfloatermodelpreview.h
indra/newview/llfloatermodelpreview.h
+3
-1
indra/newview/llfloatermodeluploadbase.h
indra/newview/llfloatermodeluploadbase.h
+1
-1
indra/newview/llimprocessing.cpp
indra/newview/llimprocessing.cpp
+16
-0
indra/newview/llinventorybridge.cpp
indra/newview/llinventorybridge.cpp
+6
-1
indra/newview/lllocationinputctrl.cpp
indra/newview/lllocationinputctrl.cpp
+1
-3
indra/newview/llmarketplacefunctions.cpp
indra/newview/llmarketplacefunctions.cpp
+5
-0
indra/newview/llmarketplacefunctions.h
indra/newview/llmarketplacefunctions.h
+3
-1
indra/newview/llmeshrepository.cpp
indra/newview/llmeshrepository.cpp
+2
-2
indra/newview/llnetmap.cpp
indra/newview/llnetmap.cpp
+1
-1
indra/newview/lloutputmonitorctrl.cpp
indra/newview/lloutputmonitorctrl.cpp
+2
-2
indra/newview/llpanellogin.cpp
indra/newview/llpanellogin.cpp
+4
-0
indra/newview/llpanelvolume.cpp
indra/newview/llpanelvolume.cpp
+18
-2
indra/newview/llpreviewnotecard.cpp
indra/newview/llpreviewnotecard.cpp
+2
-4
indra/newview/llsnapshotlivepreview.cpp
indra/newview/llsnapshotlivepreview.cpp
+1
-0
indra/newview/lluploadfloaterobservers.h
indra/newview/lluploadfloaterobservers.h
+1
-1
indra/newview/llviewermessage.cpp
indra/newview/llviewermessage.cpp
+5
-0
indra/newview/llviewerobject.cpp
indra/newview/llviewerobject.cpp
+7
-0
indra/newview/llviewerobject.h
indra/newview/llviewerobject.h
+2
-0
indra/newview/llvoavatar.cpp
indra/newview/llvoavatar.cpp
+6
-4
indra/newview/llworldmapview.cpp
indra/newview/llworldmapview.cpp
+1
-1
No files found.
indra/newview/VIEWER_VERSION.txt
View file @
bf45715c
6.3.6
\ No newline at end of file
6.3.7
indra/newview/llaudiosourcevo.cpp
View file @
bf45715c
...
...
@@ -29,8 +29,10 @@
#include "llaudiosourcevo.h"
#include "llagent.h"
#include "llagentcamera.h"
#include "llmutelist.h"
#include "llviewercontrol.h"
#include "llviewerparcelmgr.h"
LLAudioSourceVO
::
LLAudioSourceVO
(
const
LLUUID
&
sound_id
,
const
LLUUID
&
owner_id
,
const
F32
gain
,
LLViewerObject
*
objectp
)
...
...
@@ -54,6 +56,79 @@ void LLAudioSourceVO::setGain(const F32 gain)
mGain
=
llclamp
(
gain
,
0.
f
,
1.
f
);
}
void
LLAudioSourceVO
::
checkCutOffRadius
()
{
if
(
mSourceMuted
// already muted by something, will be recalculated on update()
||
!
mObjectp
)
{
return
;
}
F32
cutoff
=
mObjectp
->
getSoundCutOffRadius
();
if
(
cutoff
<
0.1
f
)
{
// consider cutoff below 0.1m as off (to avoid near zero comparison)
return
;
}
LLVector3d
pos_global
=
getPosGlobal
();
if
(
!
isInCutOffRadius
(
pos_global
,
cutoff
))
{
mSourceMuted
=
true
;
}
}
LLVector3d
LLAudioSourceVO
::
getPosGlobal
()
const
{
if
(
mObjectp
->
isAttachment
())
{
LLViewerObject
*
parent
=
mObjectp
;
while
(
parent
&&
!
parent
->
isAvatar
())
{
parent
=
(
LLViewerObject
*
)
parent
->
getParent
();
}
if
(
parent
)
{
return
parent
->
getPositionGlobal
();
}
}
else
{
return
mObjectp
->
getPositionGlobal
();
}
return
LLVector3d
();
}
bool
LLAudioSourceVO
::
isInCutOffRadius
(
const
LLVector3d
pos_global
,
const
F32
cutoff
)
const
{
static
LLCachedControl
<
S32
>
ear_mode
(
gSavedSettings
,
"VoiceEarLocation"
,
0
);
LLVector3d
pos_ear
;
switch
(
ear_mode
())
{
case
0
:
// camera
pos_ear
=
gAgentCamera
.
getCameraPositionGlobal
();
break
;
case
1
:
// avatar
case
2
:
// voice support 'mixed' in '2' case with agent's position and camera's rotations
// but it is not defined in settings and uses camera as default
pos_ear
=
gAgent
.
getPositionGlobal
();
break
;
default:
pos_ear
=
gAgentCamera
.
getCameraPositionGlobal
();
break
;
}
LLVector3d
to_vec
=
pos_global
-
pos_ear
;
F32
dist
=
(
F32
)
to_vec
.
magVec
();
return
dist
<
cutoff
;
}
void
LLAudioSourceVO
::
updateMute
()
{
if
(
!
mObjectp
||
mObjectp
->
isDead
())
...
...
@@ -63,26 +138,11 @@ void LLAudioSourceVO::updateMute()
}
bool
mute
=
false
;
LLVector3d
pos_global
;
if
(
mObjectp
->
isAttachment
())
{
LLViewerObject
*
parent
=
mObjectp
;
while
(
parent
&&
!
parent
->
isAvatar
())
{
parent
=
(
LLViewerObject
*
)
parent
->
getParent
();
}
if
(
parent
)
{
pos_global
=
parent
->
getPositionGlobal
();
}
}
else
{
pos_global
=
mObjectp
->
getPositionGlobal
();
}
LLVector3d
pos_global
=
getPosGlobal
();
if
(
!
LLViewerParcelMgr
::
getInstance
()
->
canHearSound
(
pos_global
))
F32
cutoff
=
mObjectp
->
getSoundCutOffRadius
();
if
((
cutoff
>
0.1
f
&&
!
isInCutOffRadius
(
pos_global
,
cutoff
))
// consider cutoff below 0.1m as off
||
!
LLViewerParcelMgr
::
getInstance
()
->
canHearSound
(
pos_global
))
{
mute
=
true
;
}
...
...
indra/newview/llaudiosourcevo.h
View file @
bf45715c
...
...
@@ -41,7 +41,11 @@ class LLAudioSourceVO : public LLAudioSource
/*virtual*/
void
update
();
/*virtual*/
void
setGain
(
const
F32
gain
);
void
checkCutOffRadius
();
private:
LLVector3d
getPosGlobal
()
const
;
bool
isInCutOffRadius
(
LLVector3d
pos_global
,
const
F32
cutoff
)
const
;
void
updateMute
();
private:
...
...
indra/newview/llconversationview.cpp
View file @
bf45715c
...
...
@@ -175,7 +175,7 @@ BOOL LLConversationViewSession::postBuild()
LLAvatarIconCtrl
*
icon
=
mItemPanel
->
getChild
<
LLAvatarIconCtrl
>
(
"avatar_icon"
);
icon
->
setVisible
(
true
);
icon
->
setValue
(
session
->
mOtherParticipantID
);
mSpeakingIndicator
->
setSpeakerId
(
gAge
ntID
,
session
->
mSessionID
,
true
);
mSpeakingIndicator
->
setSpeakerId
(
session
->
mOtherParticipa
ntID
,
session
->
mSessionID
,
true
);
mHasArrow
=
false
;
}
break
;
...
...
indra/newview/llfloatermodelpreview.cpp
View file @
bf45715c
...
...
@@ -433,7 +433,7 @@ void LLFloaterModelPreview::initModelPreview()
mModelPreview
=
new
LLModelPreview
(
512
,
512
,
this
);
mModelPreview
->
setPreviewTarget
(
16.
f
);
mModelPreview
->
setDetailsCallback
(
boost
::
bind
(
&
LLFloaterModelPreview
::
setDetails
,
this
,
_1
,
_2
,
_3
,
_4
,
_5
));
mModelPreview
->
setModelUpdatedCallback
(
boost
::
bind
(
&
LLFloaterModelPreview
::
toggleCalculateButton
,
this
,
_1
));
mModelPreview
->
setModelUpdatedCallback
(
boost
::
bind
(
&
LLFloaterModelPreview
::
modelUpdated
,
this
,
_1
));
}
void
LLFloaterModelPreview
::
onViewOptionChecked
(
LLUICtrl
*
ctrl
)
...
...
@@ -510,7 +510,8 @@ void LLFloaterModelPreview::onClickCalculateBtn()
mModelPreview
->
getPreviewAvatar
()
->
showAttachmentOverrides
();
}
mUploadModelUrl
.
clear
();
mUploadModelUrl
.
clear
();
mModelPhysicsFee
.
clear
();
gMeshRepo
.
uploadModel
(
mModelPreview
->
mUploadData
,
mModelPreview
->
mPreviewScale
,
childGetValue
(
"upload_textures"
).
asBoolean
(),
...
...
@@ -4440,6 +4441,12 @@ void LLFloaterModelPreview::toggleCalculateButton()
toggleCalculateButton
(
true
);
}
void
LLFloaterModelPreview
::
modelUpdated
(
bool
calculate_visible
)
{
mModelPhysicsFee
.
clear
();
toggleCalculateButton
(
calculate_visible
);
}
void
LLFloaterModelPreview
::
toggleCalculateButton
(
bool
visible
)
{
mCalculateBtn
->
setVisible
(
visible
);
...
...
@@ -4465,7 +4472,10 @@ void LLFloaterModelPreview::toggleCalculateButton(bool visible)
childSetTextArg
(
"download_weight"
,
"[ST]"
,
tbd
);
childSetTextArg
(
"server_weight"
,
"[SIM]"
,
tbd
);
childSetTextArg
(
"physics_weight"
,
"[PH]"
,
tbd
);
childSetTextArg
(
"upload_fee"
,
"[FEE]"
,
tbd
);
if
(
!
mModelPhysicsFee
.
isMap
()
||
mModelPhysicsFee
.
emptyMap
())
{
childSetTextArg
(
"upload_fee"
,
"[FEE]"
,
tbd
);
}
childSetTextArg
(
"price_breakdown"
,
"[STREAMING]"
,
tbd
);
childSetTextArg
(
"price_breakdown"
,
"[PHYSICS]"
,
tbd
);
childSetTextArg
(
"price_breakdown"
,
"[INSTANCES]"
,
tbd
);
...
...
@@ -4525,10 +4535,21 @@ void LLFloaterModelPreview::handleModelPhysicsFeeReceived()
mUploadBtn
->
setEnabled
(
isModelUploadAllowed
());
}
void
LLFloaterModelPreview
::
setModelPhysicsFeeErrorStatus
(
S32
status
,
const
std
::
string
&
reason
)
void
LLFloaterModelPreview
::
setModelPhysicsFeeErrorStatus
(
S32
status
,
const
std
::
string
&
reason
,
const
LLSD
&
result
)
{
LL_WARNS
()
<<
"LLFloaterModelPreview::setModelPhysicsFeeErrorStatus("
<<
status
<<
" : "
<<
reason
<<
")"
<<
LL_ENDL
;
doOnIdleOneTime
(
boost
::
bind
(
&
LLFloaterModelPreview
::
toggleCalculateButton
,
this
,
true
));
if
(
result
.
has
(
"upload_price"
))
{
mModelPhysicsFee
=
result
;
childSetTextArg
(
"upload_fee"
,
"[FEE]"
,
llformat
(
"%d"
,
result
[
"upload_price"
].
asInteger
()));
childSetVisible
(
"upload_fee"
,
true
);
}
else
{
mModelPhysicsFee
.
clear
();
}
}
/*virtual*/
...
...
indra/newview/llfloatermodelpreview.h
View file @
bf45715c
...
...
@@ -126,7 +126,7 @@ class LLFloaterModelPreview : public LLFloaterModelUploadBase
/*virtual*/
void
onModelPhysicsFeeReceived
(
const
LLSD
&
result
,
std
::
string
upload_url
);
void
handleModelPhysicsFeeReceived
();
/*virtual*/
void
setModelPhysicsFeeErrorStatus
(
S32
status
,
const
std
::
string
&
reason
);
/*virtual*/
void
setModelPhysicsFeeErrorStatus
(
S32
status
,
const
std
::
string
&
reason
,
const
LLSD
&
result
);
/*virtual*/
void
onModelUploadSuccess
();
...
...
@@ -209,6 +209,8 @@ class LLFloaterModelPreview : public LLFloaterModelUploadBase
void
onLoDSourceCommit
(
S32
lod
);
void
modelUpdated
(
bool
calculate_visible
);
// Toggles between "Calculate weights & fee" and "Upload" buttons.
void
toggleCalculateButton
(
bool
visible
);
...
...
indra/newview/llfloatermodeluploadbase.h
View file @
bf45715c
...
...
@@ -45,7 +45,7 @@ class LLFloaterModelUploadBase : public LLFloater, public LLUploadPermissionsObs
virtual
void
onModelPhysicsFeeReceived
(
const
LLSD
&
result
,
std
::
string
upload_url
)
=
0
;
virtual
void
setModelPhysicsFeeErrorStatus
(
S32
status
,
const
std
::
string
&
reason
)
=
0
;
virtual
void
setModelPhysicsFeeErrorStatus
(
S32
status
,
const
std
::
string
&
reason
,
const
LLSD
&
result
)
=
0
;
virtual
void
onModelUploadSuccess
()
{};
...
...
indra/newview/llimprocessing.cpp
View file @
bf45715c
...
...
@@ -62,6 +62,8 @@
#pragma warning (disable:4702)
#endif
extern
void
on_new_message
(
const
LLSD
&
msg
);
// Strip out "Resident" for display, but only if the message came from a user
// (rather than a script)
static
std
::
string
clean_name_from_im
(
const
std
::
string
&
name
,
EInstantMessage
type
)
...
...
@@ -1029,6 +1031,14 @@ void LLIMProcessing::processNewMessage(LLUUID from_id,
}
LLNotificationsUI
::
LLNotificationManager
::
instance
().
onChat
(
chat
,
args
);
if
(
message
!=
""
)
{
LLSD
msg_notify
;
msg_notify
[
"session_id"
]
=
LLUUID
();
msg_notify
[
"from_id"
]
=
chat
.
mFromID
;
msg_notify
[
"source_type"
]
=
chat
.
mSourceType
;
on_new_message
(
msg_notify
);
}
}
...
...
@@ -1560,6 +1570,12 @@ void LLIMProcessing::requestOfflineMessagesCoro(std::string url)
return
;
}
if
(
gAgent
.
getRegion
()
==
NULL
)
{
LL_WARNS
(
"Messaging"
)
<<
"Region null while attempting to load messages."
<<
LL_ENDL
;
return
;
}
LL_INFOS
(
"Messaging"
)
<<
"Processing offline messages."
<<
LL_ENDL
;
std
::
vector
<
U8
>
data
;
...
...
indra/newview/llinventorybridge.cpp
View file @
bf45715c
...
...
@@ -2288,7 +2288,7 @@ class LLIsItemRemovable : public LLFolderViewFunctor
// Can be destroyed (or moved to trash)
BOOL
LLFolderBridge
::
isItemRemovable
()
const
{
if
(
!
get_is_category_removable
(
getInventoryModel
(),
mUUID
)
||
isMarketplaceListingsFolder
()
)
if
(
!
get_is_category_removable
(
getInventoryModel
(),
mUUID
))
{
return
FALSE
;
}
...
...
@@ -2305,6 +2305,11 @@ BOOL LLFolderBridge::isItemRemovable() const
}
}
if
(
isMarketplaceListingsFolder
()
&&
(
!
LLMarketplaceData
::
instance
().
isSLMDataFetched
()
||
LLMarketplaceData
::
instance
().
getActivationState
(
mUUID
)))
{
return
FALSE
;
}
return
TRUE
;
}
...
...
indra/newview/lllocationinputctrl.cpp
View file @
bf45715c
...
...
@@ -1128,9 +1128,7 @@ void LLLocationInputCtrl::changeLocationPresentation()
//change location presentation only if user does not select/paste anything and
//human-readable region name is being displayed
std
::
string
text
=
mTextEntry
->
getText
();
LLStringUtil
::
trim
(
text
);
if
(
!
mTextEntry
->
hasSelection
()
&&
text
==
mHumanReadableLocation
)
if
(
!
mTextEntry
->
hasSelection
()
&&
mTextEntry
->
getText
()
==
mHumanReadableLocation
)
{
//needs unescaped one
LLSLURL
slurl
;
...
...
indra/newview/llmarketplacefunctions.cpp
View file @
bf45715c
...
...
@@ -1294,6 +1294,11 @@ void LLMarketplaceData::setSLMDataFetched(U32 status)
}
}
bool
LLMarketplaceData
::
isSLMDataFetched
()
{
return
mMarketPlaceDataFetched
==
MarketplaceFetchCodes
::
MARKET_FETCH_DONE
;
}
// Creation / Deletion / Update
// Methods publicly called
bool
LLMarketplaceData
::
createListing
(
const
LLUUID
&
folder_id
)
...
...
indra/newview/llmarketplacefunctions.h
View file @
bf45715c
...
...
@@ -204,7 +204,9 @@ class LLMarketplaceData
void
setDataFetchedSignal
(
const
status_updated_signal_t
::
slot_type
&
cb
);
void
setSLMDataFetched
(
U32
status
);
U32
getSLMDataFetched
()
{
return
mMarketPlaceDataFetched
;
}
bool
isSLMDataFetched
();
// High level create/delete/set Marketplace data: each method returns true if the function succeeds, false if error
bool
createListing
(
const
LLUUID
&
folder_id
);
bool
activateListing
(
const
LLUUID
&
folder_id
,
bool
activate
,
S32
depth
=
-
1
);
...
...
indra/newview/llmeshrepository.cpp
View file @
bf45715c
...
...
@@ -2776,7 +2776,7 @@ void LLMeshUploadThread::onCompleted(LLCore::HttpHandle handle, LLCore::HttpResp
if
(
observer
)
{
observer
->
setModelPhysicsFeeErrorStatus
(
status
.
toULong
(),
reason
);
observer
->
setModelPhysicsFeeErrorStatus
(
status
.
toULong
(),
reason
,
body
[
"error"
]
);
}
}
else
...
...
@@ -2809,7 +2809,7 @@ void LLMeshUploadThread::onCompleted(LLCore::HttpHandle handle, LLCore::HttpResp
if
(
observer
)
{
observer
->
setModelPhysicsFeeErrorStatus
(
status
.
toULong
(),
reason
);
observer
->
setModelPhysicsFeeErrorStatus
(
status
.
toULong
(),
reason
,
body
[
"error"
]
);
}
}
}
...
...
indra/newview/llnetmap.cpp
View file @
bf45715c
...
...
@@ -379,7 +379,7 @@ void LLNetMap::draw()
LLColor4
color
=
show_as_friend
?
map_avatar_friend_color
:
map_avatar_color
;
unknown_relative_z
=
positions
[
i
].
mdV
[
VZ
]
=
=
COARSEUPDATE_MAX_Z
&&
unknown_relative_z
=
positions
[
i
].
mdV
[
VZ
]
>
=
COARSEUPDATE_MAX_Z
&&
camera_position
.
mV
[
VZ
]
>=
COARSEUPDATE_MAX_Z
;
LLWorldMapView
::
drawAvatar
(
...
...
indra/newview/lloutputmonitorctrl.cpp
View file @
bf45715c
...
...
@@ -245,11 +245,11 @@ void LLOutputMonitorCtrl::draw()
// virtual
BOOL
LLOutputMonitorCtrl
::
handleMouseUp
(
S32
x
,
S32
y
,
MASK
mask
)
{
if
(
mSpeakerId
!=
gAgentID
&&
!
mShowParticipantsSpeaking
)
if
(
mSpeakerId
!=
gAgentID
)
{
LLFloaterReg
::
showInstance
(
"floater_voice_volume"
,
LLSD
().
with
(
"avatar_id"
,
mSpeakerId
));
}
else
if
(
mShowParticipantsSpeaking
)
else
if
(
mShowParticipantsSpeaking
)
{
LLFloaterReg
::
showInstance
(
"chat_voice"
,
LLSD
());
}
...
...
indra/newview/llpanellogin.cpp
View file @
bf45715c
...
...
@@ -1074,6 +1074,8 @@ void LLPanelLogin::populateUserList(LLPointer<LLCredential> credential)
// selection failed, just deselect whatever might be selected
mUsernameCombo
->
setValue
(
std
::
string
());
mPasswordEdit
->
setValue
(
std
::
string
());
// selection failed, fields will be mepty
updateLoginButtons
();
}
else
...
...
@@ -1089,6 +1091,8 @@ void LLPanelLogin::populateUserList(LLPointer<LLCredential> credential)
if
(
ident
.
isMap
()
&&
ident
.
has
(
"type"
))
{
mUsernameCombo
->
add
(
LLPanelLogin
::
getUserName
(
credential
),
credential
->
userID
(),
ADD_BOTTOM
,
TRUE
);
// this llsd might hold invalid credencial (failed login), so
// do not add to the list, just set field.
setFields
(
credential
);
}
else
...
...
indra/newview/llpanelvolume.cpp
View file @
bf45715c
...
...
@@ -82,8 +82,11 @@
#include <boost/bind.hpp>
// "Features" Tab
const
F32
DEFAULT_GRAVITY_MULTIPLIER
=
1.
f
;
const
F32
DEFAULT_DENSITY
=
1000.
f
;
// "Features" Tab
BOOL
LLPanelVolume
::
postBuild
()
{
// Flexible Objects Parameters
...
...
@@ -871,7 +874,7 @@ void LLPanelVolume::onLightSelectTexture(const LLSD& data)
// static
void
LLPanelVolume
::
onCommitMaterial
(
LLUICtrl
*
ctrl
,
void
*
userdata
)
{
//LLPanelObject* self = (LLPanelObject*)
userdata;
LLPanelVolume
*
self
=
(
LLPanelVolume
*
)
userdata
;
LLComboBox
*
box
=
(
LLComboBox
*
)
ctrl
;
if
(
box
)
...
...
@@ -882,6 +885,19 @@ void LLPanelVolume::onCommitMaterial( LLUICtrl* ctrl, void* userdata )
if
(
material_name
!=
LEGACY_FULLBRIGHT_DESC
)
{
U8
material_code
=
LLMaterialTable
::
basic
.
getMCode
(
material_name
);
if
(
self
)
{
LLViewerObject
*
objectp
=
self
->
mObject
;
if
(
objectp
)
{
objectp
->
setPhysicsGravity
(
DEFAULT_GRAVITY_MULTIPLIER
);
objectp
->
setPhysicsFriction
(
LLMaterialTable
::
basic
.
getFriction
(
material_code
));
//currently density is always set to 1000 serverside regardless of chosen material,
//actual material density should be used here, if this behavior change
objectp
->
setPhysicsDensity
(
DEFAULT_DENSITY
);
objectp
->
setPhysicsRestitution
(
LLMaterialTable
::
basic
.
getRestitution
(
material_code
));
}
}
LLSelectMgr
::
getInstance
()
->
selectionSetMaterial
(
material_code
);
}
}
...
...
indra/newview/llpreviewnotecard.cpp
View file @
bf45715c
...
...
@@ -367,6 +367,7 @@ void LLPreviewNotecard::onLoadComplete(LLVFS *vfs,
previewEditor
->
makePristine
();
BOOL
modifiable
=
preview
->
canModify
(
preview
->
mObjectID
,
preview
->
getItem
());
preview
->
setEnabled
(
modifiable
);
preview
->
syncExternal
();
preview
->
mAssetStatus
=
PREVIEW_ASSET_LOADED
;
}
else
...
...
@@ -503,10 +504,6 @@ bool LLPreviewNotecard::saveIfNeeded(LLInventoryItem* copyitem, bool sync)
}
editor
->
makePristine
();
if
(
sync
)
{
syncExternal
();
}
const
LLInventoryItem
*
item
=
getItem
();
// save it out to database
if
(
item
)
...
...
@@ -755,6 +752,7 @@ void LLPreviewNotecard::openInExternalEditor()
// Start watching file changes.
mLiveFile
=
new
LLLiveLSLFile
(
filename
,
boost
::
bind
(
&
LLPreviewNotecard
::
onExternalChange
,
this
,
_1
));
mLiveFile
->
ignoreNextUpdate
();
mLiveFile
->
addToEventTimer
();
// Open it in external editor.
...
...
indra/newview/llsnapshotlivepreview.cpp
View file @
bf45715c
...
...
@@ -57,6 +57,7 @@
#include <boost/filesystem.hpp>
S32
BORDER_WIDTH
=
6
;
S32
TOP_PANEL_HEIGHT
=
30
;
const
S32
MAX_TEXTURE_SIZE
=
512
;
//max upload texture size 512 * 512
...
...
indra/newview/lluploadfloaterobservers.h
View file @
bf45715c
...
...
@@ -53,7 +53,7 @@ class LLWholeModelFeeObserver
virtual
~
LLWholeModelFeeObserver
()
{}
virtual
void
onModelPhysicsFeeReceived
(
const
LLSD
&
result
,
std
::
string
upload_url
)
=
0
;
virtual
void
setModelPhysicsFeeErrorStatus
(
S32
status
,
const
std
::
string
&
reason
)
=
0
;
virtual
void
setModelPhysicsFeeErrorStatus
(
S32
status
,
const
std
::
string
&
reason
,
const
LLSD
&
result
)
=
0
;
LLHandle
<
LLWholeModelFeeObserver
>
getWholeModelFeeObserverHandle
()
const
{
return
mWholeModelFeeObserverHandle
;
}
...
...
indra/newview/llviewermessage.cpp
View file @
bf45715c
...
...
@@ -394,6 +394,11 @@ void give_money(const LLUUID& uuid, LLViewerRegion* region, S32 amount, BOOL is_
LL_INFOS
(
"Messaging"
)
<<
"give_money("
<<
uuid
<<
","
<<
amount
<<
")"
<<
LL_ENDL
;
if
(
can_afford_transaction
(
amount
))
{
if
(
uuid
.
isNull
())
{
LL_WARNS
()
<<
"Failed to send L$ gift to to Null UUID."
<<
LL_ENDL
;
return
;
}
// gStatusBar->debitBalance(amount);
LLMessageSystem
*
msg
=
gMessageSystem
;
msg
->
newMessageFast
(
_PREHASH_MoneyTransferRequest
);
...
...
indra/newview/llviewerobject.cpp
View file @
bf45715c
...
...
@@ -273,6 +273,7 @@ LLViewerObject::LLViewerObject(const LLUUID &id, const LLPCode pcode, LLViewerRe
mData
(
NULL
),
mAudioSourcep
(
NULL
),
mAudioGain
(
1.
f
),
mSoundCutOffRadius
(
0.
f
),
mAppAngle
(
0.
f
),
mPixelArea
(
1024.
f
),
mInventory
(
NULL
),
...
...
@@ -1259,6 +1260,7 @@ U32 LLViewerObject::processUpdateMessage(LLMessageSystem *mesgsys,
LLUUID
audio_uuid
;
LLUUID
owner_id
;
// only valid if audio_uuid or particle system is not null
F32
gain
;
F32
cutoff
;
U8
sound_flags
;
mesgsys
->
getU32Fast
(
_PREHASH_ObjectData
,
_PREHASH_CRC
,
crc
,
block_num
);
...
...
@@ -1267,6 +1269,7 @@ U32 LLViewerObject::processUpdateMessage(LLMessageSystem *mesgsys,
// HACK: Owner id only valid if non-null sound id or particle system
mesgsys
->
getUUIDFast
(
_PREHASH_ObjectData
,
_PREHASH_OwnerID
,
owner_id
,
block_num
);
mesgsys
->
getF32Fast
(
_PREHASH_ObjectData
,
_PREHASH_Gain
,
gain
,
block_num
);
mesgsys
->
getF32Fast
(
_PREHASH_ObjectData
,
_PREHASH_Radius
,
cutoff
,
block_num
);
mesgsys
->
getU8Fast
(
_PREHASH_ObjectData
,
_PREHASH_Flags
,
sound_flags
,
block_num
);
mesgsys
->
getU8Fast
(
_PREHASH_ObjectData
,
_PREHASH_Material
,
material
,
block_num
);
mesgsys
->
getU8Fast
(
_PREHASH_ObjectData
,
_PREHASH_ClickAction
,
click_action
,
block_num
);
...
...
@@ -1275,6 +1278,7 @@ U32 LLViewerObject::processUpdateMessage(LLMessageSystem *mesgsys,
mesgsys
->
getBinaryDataFast
(
_PREHASH_ObjectData
,
_PREHASH_ObjectData
,
data
,
length
,
block_num
,
MAX_OBJECT_BINARY_DATA_SIZE
);
mTotalCRC
=
crc
;
mSoundCutOffRadius
=
cutoff
;
// Owner ID used for sound muting or particle system muting
setAttachedSound
(
audio_uuid
,
owner_id
,
gain
,
sound_flags
);
...
...
@@ -1983,6 +1987,7 @@ U32 LLViewerObject::processUpdateMessage(LLMessageSystem *mesgsys,
}
mTotalCRC
=
crc
;
mSoundCutOffRadius
=
cutoff
;
setAttachedSound
(
sound_uuid
,
owner_id
,
gain
,
sound_flags
);
...
...
@@ -5958,6 +5963,8 @@ void LLViewerObject::setAttachedSound(const LLUUID &audio_uuid, const LLUUID& ow
if
(
gAgent
.
canAccessMaturityAtGlobal
(
this
->
getPositionGlobal
())
)
{
//LL_INFOS() << "Playing attached sound " << audio_uuid << LL_ENDL;
// recheck cutoff radius in case this update was an object-update with new value
mAudioSourcep
->
checkCutOffRadius
();
mAudioSourcep
->
play
(
audio_uuid
);
}
}
...
...
indra/newview/llviewerobject.h
View file @
bf45715c
...
...
@@ -409,6 +409,7 @@ class LLViewerObject
// Owner id is this object's owner
void
setAttachedSound
(
const
LLUUID
&
audio_uuid
,
const
LLUUID
&
owner_id
,
const
F32
gain
,
const
U8
flags
);
void
adjustAudioGain
(
const
F32
gain
);
F32
getSoundCutOffRadius
()
const
{
return
mSoundCutOffRadius
;
}
void
clearAttachedSound
()
{
mAudioSourcep
=
NULL
;
}
// Create if necessary
...
...
@@ -796,6 +797,7 @@ class LLViewerObject
LLPointer
<
LLViewerPartSourceScript
>
mPartSourcep
;
// Particle source associated with this object.
LLAudioSourceVO
*
mAudioSourcep
;
F32
mAudioGain
;
F32
mSoundCutOffRadius
;
F32
mAppAngle
;
// Apparent visual arc in degrees
F32
mPixelArea
;
// Apparent area in pixels
...
...
indra/newview/llvoavatar.cpp
View file @
bf45715c
...
...
@@ -2076,8 +2076,10 @@ void LLVOAvatar::resetSkeleton(bool reset_animations)
LL_ERRS
()
<<
"Error resetting skeleton"
<<
LL_ENDL
;
}
// Reset attachment points (buildSkeleton only does bones and CVs)
bool
ignore_hud_joints
=
true
;
// Reset attachment points
// BuildSkeleton only does bones and CVs but we still need to reinit huds
// since huds can be animated.
bool
ignore_hud_joints
=
!
isSelf
();
initAttachmentPoints
(
ignore_hud_joints
);
// Fix up collision volumes
...
...
@@ -6679,7 +6681,7 @@ void LLVOAvatar::initAttachmentPoints(bool ignore_hud_joints)
LLAvatarXmlInfo
::
LLAvatarAttachmentInfo
*
info
=
*
iter
;
if
(
info
->
mIsHUDAttachment
&&
(
!
isSelf
()
||
ignore_hud_joints
))
{
//don't process hud joint for other avatars
, or when doing a skeleton reset
.
//don't process hud joint for other avatars.
continue
;
}
...
...
@@ -10440,7 +10442,7 @@ void LLVOAvatar::calculateUpdateRenderComplexity()
// Diagnostic list of all textures on our avatar
static
std
::
set
<
LLUUID
>
all_textures
;
if
(
mVisualComplexityStale
)
if
(
mVisualComplexityStale
)
{
U32
cost
=
VISUAL_COMPLEXITY_UNKNOWN
;
LLVOVolume
::
texture_cost_t
textures
;
...
...
indra/newview/llworldmapview.cpp
View file @
bf45715c
...
...
@@ -1179,7 +1179,7 @@ void LLWorldMapView::drawAvatar(F32 x_pixels,
{
const
F32
HEIGHT_THRESHOLD
=
7.
f
;
LLUIImagePtr
dot_image
=
sAvatarLevelImage
;
if
(
unknown_relative_z
)
if
(
unknown_relative_z
&&
llabs
(
relative_z
)
>
HEIGHT_THRESHOLD
)
{
dot_image
=
sAvatarUnknownImage
;
}
...
...
Write
Preview
Markdown
is supported