make sure viewer knows where to place a sitting avatar, this will need deep revision with culling

0.9.1.0-post-fixes
UbitUmarov 2019-04-05 11:19:38 +01:00
parent 6485377ecd
commit 7ce45235e6
2 changed files with 14 additions and 1 deletions

View File

@ -4210,8 +4210,17 @@ namespace OpenSim.Region.Framework.Scenes
{ {
m_lastSize = Appearance.AvatarSize; m_lastSize = Appearance.AvatarSize;
int count = 0; int count = 0;
SceneObjectPart sitroot = null;
if (ParentID != 0 && ParentPart != null) // we need to send the sitting root prim
{
sitroot = ParentPart.ParentGroup.RootPart;
}
foreach (ScenePresence p in presences) foreach (ScenePresence p in presences)
{ {
if (sitroot != null) // we need to send the sitting root prim
{
p.ControllingClient.SendEntityFullUpdateImmediate(ParentPart.ParentGroup.RootPart);
}
p.ControllingClient.SendEntityFullUpdateImmediate(this); p.ControllingClient.SendEntityFullUpdateImmediate(this);
if (p != this && ParcelHideThisAvatar && currentParcelUUID != p.currentParcelUUID && !p.IsViewerUIGod) if (p != this && ParcelHideThisAvatar && currentParcelUUID != p.currentParcelUUID && !p.IsViewerUIGod)
// either just kill the object // either just kill the object
@ -4225,6 +4234,10 @@ namespace OpenSim.Region.Framework.Scenes
public void SendInitialAvatarDataToAgent(ScenePresence p) public void SendInitialAvatarDataToAgent(ScenePresence p)
{ {
if(ParentID != 0 && ParentPart != null) // we need to send the sitting root prim
{
p.ControllingClient.SendEntityFullUpdateImmediate(ParentPart.ParentGroup.RootPart);
}
p.ControllingClient.SendEntityFullUpdateImmediate(this); p.ControllingClient.SendEntityFullUpdateImmediate(this);
if (p != this && ParcelHideThisAvatar && currentParcelUUID != p.currentParcelUUID && !p.IsViewerUIGod) if (p != this && ParcelHideThisAvatar && currentParcelUUID != p.currentParcelUUID && !p.IsViewerUIGod)
// either just kill the object // either just kill the object

View File

@ -164,7 +164,7 @@
; limit the maximum view range ( no effect still (does limit MaxRegionsViewDistance) ) ; limit the maximum view range ( no effect still (does limit MaxRegionsViewDistance) )
;MaxDrawDistance = 512 ;MaxDrawDistance = 512
; Other regions visibilty depends on avatar position and view range ; Other regions visibility depends on avatar position and view range
; the view range considered is limited the maximum and minimum distances: ; the view range considered is limited the maximum and minimum distances:
;MaxRegionsViewDistance = 255 ;MaxRegionsViewDistance = 255
;MinRegionsViewDistance = 96 ;MinRegionsViewDistance = 96