Merge branch 'master' of ssh://3dhosting.de/var/git/careminster
commit
253e2ed699
|
@ -756,6 +756,25 @@ namespace OpenSim.Client.MXP.ClientStack
|
||||||
public event AvatarNotesUpdate OnAvatarNotesUpdate;
|
public event AvatarNotesUpdate OnAvatarNotesUpdate;
|
||||||
public event MuteListRequest OnMuteListRequest;
|
public event MuteListRequest OnMuteListRequest;
|
||||||
public event AvatarInterestUpdate OnAvatarInterestUpdate;
|
public event AvatarInterestUpdate OnAvatarInterestUpdate;
|
||||||
|
public event FindAgentUpdate OnFindAgentEvent;
|
||||||
|
public event TrackAgentUpdate OnTrackAgentEvent;
|
||||||
|
public event NewUserReport OnUserReportEvent;
|
||||||
|
public event SaveStateHandler OnSaveStateEvent;
|
||||||
|
public event GroupAccountSummaryRequest OnGroupAccountSummaryRequest;
|
||||||
|
public event GroupAccountDetailsRequest OnGroupAccountDetailsRequest;
|
||||||
|
public event GroupAccountTransactionsRequest OnGroupAccountTransactionsRequest;
|
||||||
|
public event FreezeUserUpdate OnParcelFreezeUserEvent;
|
||||||
|
public event EjectUserUpdate OnParcelEjectUserEvent;
|
||||||
|
public event ParcelBuyPass OnParcelBuyPass;
|
||||||
|
public event ParcelGodMark OnParcelGodMark;
|
||||||
|
public event GroupActiveProposalsRequest OnGroupActiveProposalsRequest;
|
||||||
|
public event GroupVoteHistoryRequest OnGroupVoteHistoryRequest;
|
||||||
|
public event SimWideDeletesDelegate OnSimWideDeletes;
|
||||||
|
public event SendPostcard OnSendPostcard;
|
||||||
|
public event MuteListEntryUpdate OnUpdateMuteListEntryEvent;
|
||||||
|
public event MuteListEntryRemove OnRemoveMuteListEntryEvent;
|
||||||
|
public event GodlikeMessage onGodlikeMessageEvent;
|
||||||
|
public event GodUpdateRegionInfoUpdate OnGodUpdateRegionInfoUpdateEvent;
|
||||||
|
|
||||||
public event PlacesQuery OnPlacesQuery;
|
public event PlacesQuery OnPlacesQuery;
|
||||||
|
|
||||||
|
@ -1659,5 +1678,17 @@ namespace OpenSim.Client.MXP.ClientStack
|
||||||
public void SendAvatarInterestsReply(UUID avatarID, uint wantMask, string wantText, uint skillsMask, string skillsText, string languages)
|
public void SendAvatarInterestsReply(UUID avatarID, uint wantMask, string wantText, uint skillsMask, string skillsText, string languages)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void SendGroupAccountingDetails(IClientAPI sender,UUID groupID, UUID transactionID, UUID sessionID, int amt)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
public void SendGroupAccountingSummary(IClientAPI sender,UUID groupID, uint moneyAmt, int totalTier, int usedTier)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
public void SendGroupTransactionsSummaryDetails(IClientAPI sender,UUID groupID, UUID transactionID, UUID sessionID,int amt)
|
||||||
|
{
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,4 +1,31 @@
|
||||||
using System;
|
/*
|
||||||
|
* Copyright (c) Contributors, http://opensimulator.org/
|
||||||
|
* See CONTRIBUTORS.TXT for a full list of copyright holders.
|
||||||
|
*
|
||||||
|
* Redistribution and use in source and binary forms, with or without
|
||||||
|
* modification, are permitted provided that the following conditions are met:
|
||||||
|
* * Redistributions of source code must retain the above copyright
|
||||||
|
* notice, this list of conditions and the following disclaimer.
|
||||||
|
* * Redistributions in binary form must reproduce the above copyright
|
||||||
|
* notice, this list of conditions and the following disclaimer in the
|
||||||
|
* documentation and/or other materials provided with the distribution.
|
||||||
|
* * Neither the name of the OpenSimulator Project nor the
|
||||||
|
* names of its contributors may be used to endorse or promote products
|
||||||
|
* derived from this software without specific prior written permission.
|
||||||
|
*
|
||||||
|
* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY
|
||||||
|
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||||
|
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||||
|
* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
|
||||||
|
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||||
|
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||||
|
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||||
|
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||||
|
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||||
|
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
*/
|
||||||
|
|
||||||
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Net;
|
using System.Net;
|
||||||
using System.Net.Sockets;
|
using System.Net.Sockets;
|
||||||
|
@ -374,6 +401,25 @@ namespace OpenSim.Client.Sirikata.ClientStack
|
||||||
public event GrantUserFriendRights OnGrantUserRights;
|
public event GrantUserFriendRights OnGrantUserRights;
|
||||||
public event MuteListRequest OnMuteListRequest;
|
public event MuteListRequest OnMuteListRequest;
|
||||||
public event PlacesQuery OnPlacesQuery;
|
public event PlacesQuery OnPlacesQuery;
|
||||||
|
public event FindAgentUpdate OnFindAgentEvent;
|
||||||
|
public event TrackAgentUpdate OnTrackAgentEvent;
|
||||||
|
public event NewUserReport OnUserReportEvent;
|
||||||
|
public event SaveStateHandler OnSaveStateEvent;
|
||||||
|
public event GroupAccountSummaryRequest OnGroupAccountSummaryRequest;
|
||||||
|
public event GroupAccountDetailsRequest OnGroupAccountDetailsRequest;
|
||||||
|
public event GroupAccountTransactionsRequest OnGroupAccountTransactionsRequest;
|
||||||
|
public event FreezeUserUpdate OnParcelFreezeUserEvent;
|
||||||
|
public event EjectUserUpdate OnParcelEjectUserEvent;
|
||||||
|
public event ParcelBuyPass OnParcelBuyPass;
|
||||||
|
public event ParcelGodMark OnParcelGodMark;
|
||||||
|
public event GroupActiveProposalsRequest OnGroupActiveProposalsRequest;
|
||||||
|
public event GroupVoteHistoryRequest OnGroupVoteHistoryRequest;
|
||||||
|
public event SimWideDeletesDelegate OnSimWideDeletes;
|
||||||
|
public event SendPostcard OnSendPostcard;
|
||||||
|
public event MuteListEntryUpdate OnUpdateMuteListEntryEvent;
|
||||||
|
public event MuteListEntryRemove OnRemoveMuteListEntryEvent;
|
||||||
|
public event GodlikeMessage onGodlikeMessageEvent;
|
||||||
|
public event GodUpdateRegionInfoUpdate OnGodUpdateRegionInfoUpdateEvent;
|
||||||
public void SetDebugPacketLevel(int newDebug)
|
public void SetDebugPacketLevel(int newDebug)
|
||||||
{
|
{
|
||||||
throw new System.NotImplementedException();
|
throw new System.NotImplementedException();
|
||||||
|
@ -1122,6 +1168,18 @@ namespace OpenSim.Client.Sirikata.ClientStack
|
||||||
throw new System.NotImplementedException();
|
throw new System.NotImplementedException();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void SendGroupAccountingDetails(IClientAPI sender,UUID groupID, UUID transactionID, UUID sessionID, int amt)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
public void SendGroupAccountingSummary(IClientAPI sender,UUID groupID, uint moneyAmt, int totalTier, int usedTier)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
public void SendGroupTransactionsSummaryDetails(IClientAPI sender,UUID groupID, UUID transactionID, UUID sessionID,int amt)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,3 +1,30 @@
|
||||||
|
/*
|
||||||
|
* Copyright (c) Contributors, http://opensimulator.org/
|
||||||
|
* See CONTRIBUTORS.TXT for a full list of copyright holders.
|
||||||
|
*
|
||||||
|
* Redistribution and use in source and binary forms, with or without
|
||||||
|
* modification, are permitted provided that the following conditions are met:
|
||||||
|
* * Redistributions of source code must retain the above copyright
|
||||||
|
* notice, this list of conditions and the following disclaimer.
|
||||||
|
* * Redistributions in binary form must reproduce the above copyright
|
||||||
|
* notice, this list of conditions and the following disclaimer in the
|
||||||
|
* documentation and/or other materials provided with the distribution.
|
||||||
|
* * Neither the name of the OpenSimulator Project nor the
|
||||||
|
* names of its contributors may be used to endorse or promote products
|
||||||
|
* derived from this software without specific prior written permission.
|
||||||
|
*
|
||||||
|
* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY
|
||||||
|
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||||
|
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||||
|
* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
|
||||||
|
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||||
|
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||||
|
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||||
|
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||||
|
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||||
|
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
*/
|
||||||
|
|
||||||
using pbd = global::Google.ProtocolBuffers.Descriptors;
|
using pbd = global::Google.ProtocolBuffers.Descriptors;
|
||||||
using pb = global::Google.ProtocolBuffers;
|
using pb = global::Google.ProtocolBuffers;
|
||||||
namespace Sirikata.Protocol {
|
namespace Sirikata.Protocol {
|
||||||
|
|
|
@ -1,4 +1,31 @@
|
||||||
using System;
|
/*
|
||||||
|
* Copyright (c) Contributors, http://opensimulator.org/
|
||||||
|
* See CONTRIBUTORS.TXT for a full list of copyright holders.
|
||||||
|
*
|
||||||
|
* Redistribution and use in source and binary forms, with or without
|
||||||
|
* modification, are permitted provided that the following conditions are met:
|
||||||
|
* * Redistributions of source code must retain the above copyright
|
||||||
|
* notice, this list of conditions and the following disclaimer.
|
||||||
|
* * Redistributions in binary form must reproduce the above copyright
|
||||||
|
* notice, this list of conditions and the following disclaimer in the
|
||||||
|
* documentation and/or other materials provided with the distribution.
|
||||||
|
* * Neither the name of the OpenSimulator Project nor the
|
||||||
|
* names of its contributors may be used to endorse or promote products
|
||||||
|
* derived from this software without specific prior written permission.
|
||||||
|
*
|
||||||
|
* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY
|
||||||
|
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||||
|
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||||
|
* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
|
||||||
|
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||||
|
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||||
|
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||||
|
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||||
|
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||||
|
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
*/
|
||||||
|
|
||||||
|
using System;
|
||||||
namespace PBJ
|
namespace PBJ
|
||||||
{
|
{
|
||||||
|
|
||||||
|
|
|
@ -1,3 +1,30 @@
|
||||||
|
/*
|
||||||
|
* Copyright (c) Contributors, http://opensimulator.org/
|
||||||
|
* See CONTRIBUTORS.TXT for a full list of copyright holders.
|
||||||
|
*
|
||||||
|
* Redistribution and use in source and binary forms, with or without
|
||||||
|
* modification, are permitted provided that the following conditions are met:
|
||||||
|
* * Redistributions of source code must retain the above copyright
|
||||||
|
* notice, this list of conditions and the following disclaimer.
|
||||||
|
* * Redistributions in binary form must reproduce the above copyright
|
||||||
|
* notice, this list of conditions and the following disclaimer in the
|
||||||
|
* documentation and/or other materials provided with the distribution.
|
||||||
|
* * Neither the name of the OpenSimulator Project nor the
|
||||||
|
* names of its contributors may be used to endorse or promote products
|
||||||
|
* derived from this software without specific prior written permission.
|
||||||
|
*
|
||||||
|
* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY
|
||||||
|
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||||
|
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||||
|
* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
|
||||||
|
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||||
|
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||||
|
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||||
|
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||||
|
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||||
|
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
*/
|
||||||
|
|
||||||
using pbd = global::Google.ProtocolBuffers.Descriptors;
|
using pbd = global::Google.ProtocolBuffers.Descriptors;
|
||||||
using pb = global::Google.ProtocolBuffers;
|
using pb = global::Google.ProtocolBuffers;
|
||||||
namespace Sirikata.Persistence.Protocol {
|
namespace Sirikata.Persistence.Protocol {
|
||||||
|
@ -812,7 +839,7 @@ namespace Sirikata.Persistence.Protocol {
|
||||||
public StorageElement Reads(int index) {
|
public StorageElement Reads(int index) {
|
||||||
return new StorageElement(super.GetReads(index));
|
return new StorageElement(super.GetReads(index));
|
||||||
}
|
}
|
||||||
public Builder AddReads(StorageElement value ) {
|
public Builder AddReads(StorageElement value) {
|
||||||
super.AddReads(value._PBJSuper);
|
super.AddReads(value._PBJSuper);
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
@ -919,7 +946,7 @@ namespace Sirikata.Persistence.Protocol {
|
||||||
public StorageElement Reads(int index) {
|
public StorageElement Reads(int index) {
|
||||||
return new StorageElement(super.GetReads(index));
|
return new StorageElement(super.GetReads(index));
|
||||||
}
|
}
|
||||||
public Builder AddReads(StorageElement value ) {
|
public Builder AddReads(StorageElement value) {
|
||||||
super.AddReads(value._PBJSuper);
|
super.AddReads(value._PBJSuper);
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
@ -1026,7 +1053,7 @@ namespace Sirikata.Persistence.Protocol {
|
||||||
public StorageElement Writes(int index) {
|
public StorageElement Writes(int index) {
|
||||||
return new StorageElement(super.GetWrites(index));
|
return new StorageElement(super.GetWrites(index));
|
||||||
}
|
}
|
||||||
public Builder AddWrites(StorageElement value ) {
|
public Builder AddWrites(StorageElement value) {
|
||||||
super.AddWrites(value._PBJSuper);
|
super.AddWrites(value._PBJSuper);
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
@ -1155,7 +1182,7 @@ namespace Sirikata.Persistence.Protocol {
|
||||||
public StorageElement Reads(int index) {
|
public StorageElement Reads(int index) {
|
||||||
return new StorageElement(super.GetReads(index));
|
return new StorageElement(super.GetReads(index));
|
||||||
}
|
}
|
||||||
public Builder AddReads(StorageElement value ) {
|
public Builder AddReads(StorageElement value) {
|
||||||
super.AddReads(value._PBJSuper);
|
super.AddReads(value._PBJSuper);
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
@ -1170,7 +1197,7 @@ namespace Sirikata.Persistence.Protocol {
|
||||||
public StorageElement Writes(int index) {
|
public StorageElement Writes(int index) {
|
||||||
return new StorageElement(super.GetWrites(index));
|
return new StorageElement(super.GetWrites(index));
|
||||||
}
|
}
|
||||||
public Builder AddWrites(StorageElement value ) {
|
public Builder AddWrites(StorageElement value) {
|
||||||
super.AddWrites(value._PBJSuper);
|
super.AddWrites(value._PBJSuper);
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
@ -1322,7 +1349,7 @@ namespace Sirikata.Persistence.Protocol {
|
||||||
public StorageElement Reads(int index) {
|
public StorageElement Reads(int index) {
|
||||||
return new StorageElement(super.GetReads(index));
|
return new StorageElement(super.GetReads(index));
|
||||||
}
|
}
|
||||||
public Builder AddReads(StorageElement value ) {
|
public Builder AddReads(StorageElement value) {
|
||||||
super.AddReads(value._PBJSuper);
|
super.AddReads(value._PBJSuper);
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
@ -1337,7 +1364,7 @@ namespace Sirikata.Persistence.Protocol {
|
||||||
public StorageElement Writes(int index) {
|
public StorageElement Writes(int index) {
|
||||||
return new StorageElement(super.GetWrites(index));
|
return new StorageElement(super.GetWrites(index));
|
||||||
}
|
}
|
||||||
public Builder AddWrites(StorageElement value ) {
|
public Builder AddWrites(StorageElement value) {
|
||||||
super.AddWrites(value._PBJSuper);
|
super.AddWrites(value._PBJSuper);
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
@ -1352,7 +1379,7 @@ namespace Sirikata.Persistence.Protocol {
|
||||||
public CompareElement Compares(int index) {
|
public CompareElement Compares(int index) {
|
||||||
return new CompareElement(super.GetCompares(index));
|
return new CompareElement(super.GetCompares(index));
|
||||||
}
|
}
|
||||||
public Builder AddCompares(CompareElement value ) {
|
public Builder AddCompares(CompareElement value) {
|
||||||
super.AddCompares(value._PBJSuper);
|
super.AddCompares(value._PBJSuper);
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
@ -1493,7 +1520,7 @@ namespace Sirikata.Persistence.Protocol {
|
||||||
public StorageElement Reads(int index) {
|
public StorageElement Reads(int index) {
|
||||||
return new StorageElement(super.GetReads(index));
|
return new StorageElement(super.GetReads(index));
|
||||||
}
|
}
|
||||||
public Builder AddReads(StorageElement value ) {
|
public Builder AddReads(StorageElement value) {
|
||||||
super.AddReads(value._PBJSuper);
|
super.AddReads(value._PBJSuper);
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,3 +1,30 @@
|
||||||
|
/*
|
||||||
|
* Copyright (c) Contributors, http://opensimulator.org/
|
||||||
|
* See CONTRIBUTORS.TXT for a full list of copyright holders.
|
||||||
|
*
|
||||||
|
* Redistribution and use in source and binary forms, with or without
|
||||||
|
* modification, are permitted provided that the following conditions are met:
|
||||||
|
* * Redistributions of source code must retain the above copyright
|
||||||
|
* notice, this list of conditions and the following disclaimer.
|
||||||
|
* * Redistributions in binary form must reproduce the above copyright
|
||||||
|
* notice, this list of conditions and the following disclaimer in the
|
||||||
|
* documentation and/or other materials provided with the distribution.
|
||||||
|
* * Neither the name of the OpenSimulator Project nor the
|
||||||
|
* names of its contributors may be used to endorse or promote products
|
||||||
|
* derived from this software without specific prior written permission.
|
||||||
|
*
|
||||||
|
* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY
|
||||||
|
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||||
|
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||||
|
* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
|
||||||
|
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||||
|
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||||
|
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||||
|
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||||
|
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||||
|
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
*/
|
||||||
|
|
||||||
using pbd = global::Google.ProtocolBuffers.Descriptors;
|
using pbd = global::Google.ProtocolBuffers.Descriptors;
|
||||||
using pb = global::Google.ProtocolBuffers;
|
using pb = global::Google.ProtocolBuffers;
|
||||||
namespace Sirikata.Physics.Protocol {
|
namespace Sirikata.Physics.Protocol {
|
||||||
|
|
|
@ -1,3 +1,30 @@
|
||||||
|
/*
|
||||||
|
* Copyright (c) Contributors, http://opensimulator.org/
|
||||||
|
* See CONTRIBUTORS.TXT for a full list of copyright holders.
|
||||||
|
*
|
||||||
|
* Redistribution and use in source and binary forms, with or without
|
||||||
|
* modification, are permitted provided that the following conditions are met:
|
||||||
|
* * Redistributions of source code must retain the above copyright
|
||||||
|
* notice, this list of conditions and the following disclaimer.
|
||||||
|
* * Redistributions in binary form must reproduce the above copyright
|
||||||
|
* notice, this list of conditions and the following disclaimer in the
|
||||||
|
* documentation and/or other materials provided with the distribution.
|
||||||
|
* * Neither the name of the OpenSimulator Project nor the
|
||||||
|
* names of its contributors may be used to endorse or promote products
|
||||||
|
* derived from this software without specific prior written permission.
|
||||||
|
*
|
||||||
|
* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY
|
||||||
|
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||||
|
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||||
|
* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
|
||||||
|
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||||
|
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||||
|
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||||
|
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||||
|
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||||
|
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
*/
|
||||||
|
|
||||||
using pbd = global::Google.ProtocolBuffers.Descriptors;
|
using pbd = global::Google.ProtocolBuffers.Descriptors;
|
||||||
using pb = global::Google.ProtocolBuffers;
|
using pb = global::Google.ProtocolBuffers;
|
||||||
namespace Sirikata.Protocol {
|
namespace Sirikata.Protocol {
|
||||||
|
@ -3809,7 +3836,7 @@ namespace Sirikata.Protocol {
|
||||||
public ConnectToSpace SpaceProperties(int index) {
|
public ConnectToSpace SpaceProperties(int index) {
|
||||||
return new ConnectToSpace(super.GetSpaceProperties(index));
|
return new ConnectToSpace(super.GetSpaceProperties(index));
|
||||||
}
|
}
|
||||||
public Builder AddSpaceProperties(ConnectToSpace value ) {
|
public Builder AddSpaceProperties(ConnectToSpace value) {
|
||||||
super.AddSpaceProperties(value._PBJSuper);
|
super.AddSpaceProperties(value._PBJSuper);
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,3 +1,30 @@
|
||||||
|
/*
|
||||||
|
* Copyright (c) Contributors, http://opensimulator.org/
|
||||||
|
* See CONTRIBUTORS.TXT for a full list of copyright holders.
|
||||||
|
*
|
||||||
|
* Redistribution and use in source and binary forms, with or without
|
||||||
|
* modification, are permitted provided that the following conditions are met:
|
||||||
|
* * Redistributions of source code must retain the above copyright
|
||||||
|
* notice, this list of conditions and the following disclaimer.
|
||||||
|
* * Redistributions in binary form must reproduce the above copyright
|
||||||
|
* notice, this list of conditions and the following disclaimer in the
|
||||||
|
* documentation and/or other materials provided with the distribution.
|
||||||
|
* * Neither the name of the OpenSimulator Project nor the
|
||||||
|
* names of its contributors may be used to endorse or promote products
|
||||||
|
* derived from this software without specific prior written permission.
|
||||||
|
*
|
||||||
|
* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY
|
||||||
|
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||||
|
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||||
|
* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
|
||||||
|
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||||
|
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||||
|
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||||
|
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||||
|
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||||
|
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
*/
|
||||||
|
|
||||||
using pbd = global::Google.ProtocolBuffers.Descriptors;
|
using pbd = global::Google.ProtocolBuffers.Descriptors;
|
||||||
using pb = global::Google.ProtocolBuffers;
|
using pb = global::Google.ProtocolBuffers;
|
||||||
namespace Sirikata.Subscription.Protocol {
|
namespace Sirikata.Subscription.Protocol {
|
||||||
|
|
|
@ -1,3 +1,30 @@
|
||||||
|
/*
|
||||||
|
* Copyright (c) Contributors, http://opensimulator.org/
|
||||||
|
* See CONTRIBUTORS.TXT for a full list of copyright holders.
|
||||||
|
*
|
||||||
|
* Redistribution and use in source and binary forms, with or without
|
||||||
|
* modification, are permitted provided that the following conditions are met:
|
||||||
|
* * Redistributions of source code must retain the above copyright
|
||||||
|
* notice, this list of conditions and the following disclaimer.
|
||||||
|
* * Redistributions in binary form must reproduce the above copyright
|
||||||
|
* notice, this list of conditions and the following disclaimer in the
|
||||||
|
* documentation and/or other materials provided with the distribution.
|
||||||
|
* * Neither the name of the OpenSimulator Project nor the
|
||||||
|
* names of its contributors may be used to endorse or promote products
|
||||||
|
* derived from this software without specific prior written permission.
|
||||||
|
*
|
||||||
|
* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY
|
||||||
|
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||||
|
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||||
|
* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
|
||||||
|
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||||
|
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||||
|
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||||
|
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||||
|
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||||
|
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
*/
|
||||||
|
|
||||||
using pbd = global::Google.ProtocolBuffers.Descriptors;
|
using pbd = global::Google.ProtocolBuffers.Descriptors;
|
||||||
using pb = global::Google.ProtocolBuffers;
|
using pb = global::Google.ProtocolBuffers;
|
||||||
namespace Sirikata.PB {
|
namespace Sirikata.PB {
|
||||||
|
@ -407,7 +434,7 @@ namespace Sirikata.PB {
|
||||||
public Types.SubMessage Submessers(int index) {
|
public Types.SubMessage Submessers(int index) {
|
||||||
return new Types.SubMessage(super.GetSubmessers(index));
|
return new Types.SubMessage(super.GetSubmessers(index));
|
||||||
}
|
}
|
||||||
public Builder AddSubmessers(Types.SubMessage value ) {
|
public Builder AddSubmessers(Types.SubMessage value) {
|
||||||
super.AddSubmessers(value._PBJSuper);
|
super.AddSubmessers(value._PBJSuper);
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
@ -1651,7 +1678,7 @@ namespace Sirikata.PB {
|
||||||
public Types.SubMessage Submessers(int index) {
|
public Types.SubMessage Submessers(int index) {
|
||||||
return new Types.SubMessage(super.GetSubmessers(index));
|
return new Types.SubMessage(super.GetSubmessers(index));
|
||||||
}
|
}
|
||||||
public Builder AddSubmessers(Types.SubMessage value ) {
|
public Builder AddSubmessers(Types.SubMessage value) {
|
||||||
super.AddSubmessers(value._PBJSuper);
|
super.AddSubmessers(value._PBJSuper);
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
@ -1709,7 +1736,7 @@ namespace Sirikata.PB {
|
||||||
public ExternalMessage Extmessers(int index) {
|
public ExternalMessage Extmessers(int index) {
|
||||||
return new ExternalMessage(super.GetExtmessers(index));
|
return new ExternalMessage(super.GetExtmessers(index));
|
||||||
}
|
}
|
||||||
public Builder AddExtmessers(ExternalMessage value ) {
|
public Builder AddExtmessers(ExternalMessage value) {
|
||||||
super.AddExtmessers(value._PBJSuper);
|
super.AddExtmessers(value._PBJSuper);
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,3 +1,30 @@
|
||||||
|
/*
|
||||||
|
* Copyright (c) Contributors, http://opensimulator.org/
|
||||||
|
* See CONTRIBUTORS.TXT for a full list of copyright holders.
|
||||||
|
*
|
||||||
|
* Redistribution and use in source and binary forms, with or without
|
||||||
|
* modification, are permitted provided that the following conditions are met:
|
||||||
|
* * Redistributions of source code must retain the above copyright
|
||||||
|
* notice, this list of conditions and the following disclaimer.
|
||||||
|
* * Redistributions in binary form must reproduce the above copyright
|
||||||
|
* notice, this list of conditions and the following disclaimer in the
|
||||||
|
* documentation and/or other materials provided with the distribution.
|
||||||
|
* * Neither the name of the OpenSimulator Project nor the
|
||||||
|
* names of its contributors may be used to endorse or promote products
|
||||||
|
* derived from this software without specific prior written permission.
|
||||||
|
*
|
||||||
|
* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY
|
||||||
|
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||||
|
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||||
|
* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
|
||||||
|
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||||
|
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||||
|
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||||
|
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||||
|
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||||
|
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
*/
|
||||||
|
|
||||||
using pbd = global::Google.ProtocolBuffers.Descriptors;
|
using pbd = global::Google.ProtocolBuffers.Descriptors;
|
||||||
using pb = global::Google.ProtocolBuffers;
|
using pb = global::Google.ProtocolBuffers;
|
||||||
namespace Sirikata.Network.Protocol {
|
namespace Sirikata.Network.Protocol {
|
||||||
|
|
|
@ -93,7 +93,7 @@ namespace OpenSim.Client.Sirikata
|
||||||
|
|
||||||
public void PostInitialise()
|
public void PostInitialise()
|
||||||
{
|
{
|
||||||
if(!m_enabled)
|
if (!m_enabled)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
m_listener = new TcpListener(IPAddress.Any, 5943);
|
m_listener = new TcpListener(IPAddress.Any, 5943);
|
||||||
|
@ -102,7 +102,7 @@ namespace OpenSim.Client.Sirikata
|
||||||
|
|
||||||
private void ListenLoop()
|
private void ListenLoop()
|
||||||
{
|
{
|
||||||
while(m_running)
|
while (m_running)
|
||||||
{
|
{
|
||||||
m_listener.BeginAcceptTcpClient(AcceptSocket, m_listener);
|
m_listener.BeginAcceptTcpClient(AcceptSocket, m_listener);
|
||||||
}
|
}
|
||||||
|
|
|
@ -405,6 +405,25 @@ namespace OpenSim.Client.VWoHTTP.ClientStack
|
||||||
public event MuteListRequest OnMuteListRequest = delegate { };
|
public event MuteListRequest OnMuteListRequest = delegate { };
|
||||||
public event AvatarInterestUpdate OnAvatarInterestUpdate = delegate { };
|
public event AvatarInterestUpdate OnAvatarInterestUpdate = delegate { };
|
||||||
public event PlacesQuery OnPlacesQuery = delegate { };
|
public event PlacesQuery OnPlacesQuery = delegate { };
|
||||||
|
public event FindAgentUpdate OnFindAgentEvent = delegate { };
|
||||||
|
public event TrackAgentUpdate OnTrackAgentEvent = delegate { };
|
||||||
|
public event NewUserReport OnUserReportEvent = delegate { };
|
||||||
|
public event SaveStateHandler OnSaveStateEvent = delegate { };
|
||||||
|
public event GroupAccountSummaryRequest OnGroupAccountSummaryRequest = delegate { };
|
||||||
|
public event GroupAccountDetailsRequest OnGroupAccountDetailsRequest = delegate { };
|
||||||
|
public event GroupAccountTransactionsRequest OnGroupAccountTransactionsRequest = delegate { };
|
||||||
|
public event FreezeUserUpdate OnParcelFreezeUserEvent = delegate { };
|
||||||
|
public event EjectUserUpdate OnParcelEjectUserEvent = delegate { };
|
||||||
|
public event ParcelBuyPass OnParcelBuyPass = delegate { };
|
||||||
|
public event ParcelGodMark OnParcelGodMark = delegate { };
|
||||||
|
public event GroupActiveProposalsRequest OnGroupActiveProposalsRequest = delegate { };
|
||||||
|
public event GroupVoteHistoryRequest OnGroupVoteHistoryRequest = delegate { };
|
||||||
|
public event SimWideDeletesDelegate OnSimWideDeletes = delegate { };
|
||||||
|
public event SendPostcard OnSendPostcard = delegate { };
|
||||||
|
public event MuteListEntryUpdate OnUpdateMuteListEntryEvent = delegate { };
|
||||||
|
public event MuteListEntryRemove OnRemoveMuteListEntryEvent = delegate { };
|
||||||
|
public event GodlikeMessage onGodlikeMessageEvent = delegate { };
|
||||||
|
public event GodUpdateRegionInfoUpdate OnGodUpdateRegionInfoUpdateEvent = delegate { };
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -1165,5 +1184,17 @@ namespace OpenSim.Client.VWoHTTP.ClientStack
|
||||||
public void SendAvatarInterestsReply(UUID avatarID, uint wantMask, string wantText, uint skillsMask, string skillsText, string languages)
|
public void SendAvatarInterestsReply(UUID avatarID, uint wantMask, string wantText, uint skillsMask, string skillsText, string languages)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void SendGroupAccountingDetails(IClientAPI sender,UUID groupID, UUID transactionID, UUID sessionID, int amt)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
public void SendGroupAccountingSummary(IClientAPI sender,UUID groupID, uint moneyAmt, int totalTier, int usedTier)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
public void SendGroupTransactionsSummaryDetails(IClientAPI sender,UUID groupID, UUID transactionID, UUID sessionID,int amt)
|
||||||
|
{
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -91,7 +91,7 @@ namespace OpenSim.Data.MySQL
|
||||||
rollbackStore = GridDataMySqlFile.ParseFileReadValue("rollback") == "true";
|
rollbackStore = GridDataMySqlFile.ParseFileReadValue("rollback") == "true";
|
||||||
opengridmode = GridDataMySqlFile.ParseFileReadValue("opengridmode") == "true";
|
opengridmode = GridDataMySqlFile.ParseFileReadValue("opengridmode") == "true";
|
||||||
|
|
||||||
if(rollbackStore)
|
if (rollbackStore)
|
||||||
m_log.Warn("[MysqlInventory] Enabling rollback mode in: " + rollbackDir);
|
m_log.Warn("[MysqlInventory] Enabling rollback mode in: " + rollbackDir);
|
||||||
|
|
||||||
database =
|
database =
|
||||||
|
@ -264,7 +264,7 @@ namespace OpenSim.Data.MySQL
|
||||||
{
|
{
|
||||||
database.Reconnect();
|
database.Reconnect();
|
||||||
m_log.Error(e.ToString());
|
m_log.Error(e.ToString());
|
||||||
return null;
|
throw;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -552,7 +552,7 @@ namespace OpenSim.Data.MySQL
|
||||||
|
|
||||||
private void StoreRollbackItem(UUID ItemID)
|
private void StoreRollbackItem(UUID ItemID)
|
||||||
{
|
{
|
||||||
if(rollbackStore == true)
|
if (rollbackStore == true)
|
||||||
{
|
{
|
||||||
string todaysPath = RollbackGetTodaysPath();
|
string todaysPath = RollbackGetTodaysPath();
|
||||||
|
|
||||||
|
@ -1008,7 +1008,7 @@ namespace OpenSim.Data.MySQL
|
||||||
StoreRollbackFolder(f.ID);
|
StoreRollbackFolder(f.ID);
|
||||||
deleteOneFolder(f.ID);
|
deleteOneFolder(f.ID);
|
||||||
|
|
||||||
if(rollbackStore)
|
if (rollbackStore)
|
||||||
{
|
{
|
||||||
foreach (InventoryItemBase itemBase in getInventoryInFolder(f.ID))
|
foreach (InventoryItemBase itemBase in getInventoryInFolder(f.ID))
|
||||||
{
|
{
|
||||||
|
|
|
@ -577,6 +577,7 @@ namespace OpenSim.Data.Tests
|
||||||
.IgnoreProperty(x=>x.RegionUUID)
|
.IgnoreProperty(x=>x.RegionUUID)
|
||||||
.IgnoreProperty(x=>x.Scene)
|
.IgnoreProperty(x=>x.Scene)
|
||||||
.IgnoreProperty(x=>x.Children)
|
.IgnoreProperty(x=>x.Children)
|
||||||
|
.IgnoreProperty(x=>x.PassCollision)
|
||||||
.IgnoreProperty(x=>x.RootPart));
|
.IgnoreProperty(x=>x.RootPart));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -453,6 +453,47 @@ namespace OpenSim.Framework
|
||||||
|
|
||||||
public delegate double UpdatePriorityHandler(UpdatePriorityData data);
|
public delegate double UpdatePriorityHandler(UpdatePriorityData data);
|
||||||
|
|
||||||
|
public delegate void MuteListEntryUpdate(IClientAPI client, UUID MuteID, string Name, int Flags,UUID AgentID);
|
||||||
|
|
||||||
|
public delegate void MuteListEntryRemove(IClientAPI client, UUID MuteID, string Name, UUID AgentID);
|
||||||
|
|
||||||
|
public delegate void AvatarInterestReply(IClientAPI client,UUID target, uint wantmask, string wanttext, uint skillsmask, string skillstext, string languages);
|
||||||
|
|
||||||
|
public delegate void FindAgentUpdate(IClientAPI client, UUID hunter, UUID target);
|
||||||
|
|
||||||
|
public delegate void TrackAgentUpdate(IClientAPI client, UUID hunter, UUID target);
|
||||||
|
|
||||||
|
public delegate void FreezeUserUpdate(IClientAPI client, UUID parcelowner,uint flags, UUID target);
|
||||||
|
|
||||||
|
public delegate void EjectUserUpdate(IClientAPI client, UUID parcelowner,uint flags, UUID target);
|
||||||
|
|
||||||
|
public delegate void NewUserReport(IClientAPI client, string regionName,UUID abuserID, byte catagory, byte checkflags, string details, UUID objectID, Vector3 postion, byte reportType ,UUID screenshotID, string summery, UUID reporter);
|
||||||
|
|
||||||
|
public delegate void GodUpdateRegionInfoUpdate(IClientAPI client, float BillableFactor, ulong EstateID, ulong RegionFlags, byte[] SimName,int RedirectX, int RedirectY);
|
||||||
|
|
||||||
|
public delegate void GodlikeMessage(IClientAPI client, UUID requester, byte[] Method, byte[] Parameter);
|
||||||
|
|
||||||
|
public delegate void SaveStateHandler(IClientAPI client,UUID agentID);
|
||||||
|
|
||||||
|
public delegate void GroupAccountSummaryRequest(IClientAPI client,UUID agentID, UUID groupID);
|
||||||
|
|
||||||
|
public delegate void GroupAccountDetailsRequest(IClientAPI client,UUID agentID, UUID groupID, UUID transactionID, UUID sessionID);
|
||||||
|
|
||||||
|
public delegate void GroupAccountTransactionsRequest(IClientAPI client,UUID agentID, UUID groupID, UUID transactionID, UUID sessionID);
|
||||||
|
|
||||||
|
public delegate void ParcelBuyPass(IClientAPI client, UUID agentID, int ParcelLocalID);
|
||||||
|
|
||||||
|
public delegate void ParcelGodMark(IClientAPI client, UUID agentID, int ParcelLocalID);
|
||||||
|
|
||||||
|
public delegate void GroupActiveProposalsRequest(IClientAPI client,UUID agentID, UUID groupID, UUID transactionID, UUID sessionID);
|
||||||
|
|
||||||
|
public delegate void GroupVoteHistoryRequest(IClientAPI client,UUID agentID, UUID groupID, UUID transactionID, UUID sessionID);
|
||||||
|
|
||||||
|
|
||||||
|
public delegate void SimWideDeletesDelegate(IClientAPI client,UUID agentID, int flags, UUID targetID);
|
||||||
|
|
||||||
|
public delegate void SendPostcard(IClientAPI client);
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
public struct DirPlacesReplyData
|
public struct DirPlacesReplyData
|
||||||
|
@ -1028,6 +1069,26 @@ namespace OpenSim.Framework
|
||||||
|
|
||||||
event PlacesQuery OnPlacesQuery;
|
event PlacesQuery OnPlacesQuery;
|
||||||
|
|
||||||
|
event FindAgentUpdate OnFindAgentEvent;
|
||||||
|
event TrackAgentUpdate OnTrackAgentEvent;
|
||||||
|
event NewUserReport OnUserReportEvent;
|
||||||
|
event SaveStateHandler OnSaveStateEvent;
|
||||||
|
event GroupAccountSummaryRequest OnGroupAccountSummaryRequest;
|
||||||
|
event GroupAccountDetailsRequest OnGroupAccountDetailsRequest;
|
||||||
|
event GroupAccountTransactionsRequest OnGroupAccountTransactionsRequest;
|
||||||
|
event FreezeUserUpdate OnParcelFreezeUserEvent;
|
||||||
|
event EjectUserUpdate OnParcelEjectUserEvent;
|
||||||
|
event ParcelBuyPass OnParcelBuyPass;
|
||||||
|
event ParcelGodMark OnParcelGodMark;
|
||||||
|
event GroupActiveProposalsRequest OnGroupActiveProposalsRequest;
|
||||||
|
event GroupVoteHistoryRequest OnGroupVoteHistoryRequest;
|
||||||
|
event SimWideDeletesDelegate OnSimWideDeletes;
|
||||||
|
event SendPostcard OnSendPostcard;
|
||||||
|
event MuteListEntryUpdate OnUpdateMuteListEntryEvent;
|
||||||
|
event MuteListEntryRemove OnRemoveMuteListEntryEvent;
|
||||||
|
event GodlikeMessage onGodlikeMessageEvent;
|
||||||
|
event GodUpdateRegionInfoUpdate OnGodUpdateRegionInfoUpdateEvent;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Set the debug level at which packet output should be printed to console.
|
/// Set the debug level at which packet output should be printed to console.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
@ -1394,5 +1455,12 @@ namespace OpenSim.Framework
|
||||||
void SendRebakeAvatarTextures(UUID textureID);
|
void SendRebakeAvatarTextures(UUID textureID);
|
||||||
|
|
||||||
void SendAvatarInterestsReply(UUID avatarID, uint wantMask, string wantText, uint skillsMask, string skillsText, string languages);
|
void SendAvatarInterestsReply(UUID avatarID, uint wantMask, string wantText, uint skillsMask, string skillsText, string languages);
|
||||||
|
|
||||||
|
void SendGroupAccountingDetails(IClientAPI sender,UUID groupID, UUID transactionID, UUID sessionID, int amt);
|
||||||
|
|
||||||
|
void SendGroupAccountingSummary(IClientAPI sender,UUID groupID, uint moneyAmt, int totalTier, int usedTier);
|
||||||
|
|
||||||
|
void SendGroupTransactionsSummaryDetails(IClientAPI sender,UUID groupID, UUID transactionID, UUID sessionID,int amt);
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -298,6 +298,26 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||||
public event AvatarInterestUpdate OnAvatarInterestUpdate;
|
public event AvatarInterestUpdate OnAvatarInterestUpdate;
|
||||||
public event PlacesQuery OnPlacesQuery;
|
public event PlacesQuery OnPlacesQuery;
|
||||||
public event AgentFOV OnAgentFOV;
|
public event AgentFOV OnAgentFOV;
|
||||||
|
public event FindAgentUpdate OnFindAgentEvent;
|
||||||
|
public event TrackAgentUpdate OnTrackAgentEvent;
|
||||||
|
public event NewUserReport OnUserReportEvent;
|
||||||
|
public event SaveStateHandler OnSaveStateEvent;
|
||||||
|
public event GroupAccountSummaryRequest OnGroupAccountSummaryRequest;
|
||||||
|
public event GroupAccountDetailsRequest OnGroupAccountDetailsRequest;
|
||||||
|
public event GroupAccountTransactionsRequest OnGroupAccountTransactionsRequest;
|
||||||
|
public event FreezeUserUpdate OnParcelFreezeUserEvent;
|
||||||
|
public event EjectUserUpdate OnParcelEjectUserEvent;
|
||||||
|
public event ParcelBuyPass OnParcelBuyPass;
|
||||||
|
public event ParcelGodMark OnParcelGodMark;
|
||||||
|
public event GroupActiveProposalsRequest OnGroupActiveProposalsRequest;
|
||||||
|
public event GroupVoteHistoryRequest OnGroupVoteHistoryRequest;
|
||||||
|
public event SimWideDeletesDelegate OnSimWideDeletes;
|
||||||
|
public event SendPostcard OnSendPostcard;
|
||||||
|
public event MuteListEntryUpdate OnUpdateMuteListEntryEvent;
|
||||||
|
public event MuteListEntryRemove OnRemoveMuteListEntryEvent;
|
||||||
|
public event GodlikeMessage onGodlikeMessageEvent;
|
||||||
|
public event GodUpdateRegionInfoUpdate OnGodUpdateRegionInfoUpdateEvent;
|
||||||
|
|
||||||
|
|
||||||
#endregion Events
|
#endregion Events
|
||||||
|
|
||||||
|
@ -806,6 +826,189 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||||
OutPacket(gmp, ThrottleOutPacketType.Task);
|
OutPacket(gmp, ThrottleOutPacketType.Task);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void SendGroupActiveProposals(IClientAPI sender,UUID agentID, UUID sessionID, UUID groupID, UUID transactionID, Dictionary<int, string> VoteID, Dictionary<int, string> VoteInitiator, Dictionary<int, string> Majority, Dictionary<int, string> Quorum, Dictionary<int, string> TerseDateID, Dictionary<int, string> StartDateTime, Dictionary<int, string> EndDateTime, Dictionary<int, string> ProposalText)
|
||||||
|
{
|
||||||
|
foreach (KeyValuePair<int, string> Blank in VoteID)
|
||||||
|
{
|
||||||
|
GroupActiveProposalItemReplyPacket GAPIRP = new GroupActiveProposalItemReplyPacket();
|
||||||
|
|
||||||
|
GAPIRP.AgentData.AgentID = agentID;
|
||||||
|
GAPIRP.AgentData.GroupID = groupID;
|
||||||
|
GAPIRP.TransactionData.TransactionID = transactionID;
|
||||||
|
GAPIRP.TransactionData.TotalNumItems = 1;
|
||||||
|
GroupActiveProposalItemReplyPacket.ProposalDataBlock ProposalData = new GroupActiveProposalItemReplyPacket.ProposalDataBlock();
|
||||||
|
GAPIRP.ProposalData = new GroupActiveProposalItemReplyPacket.ProposalDataBlock[1];
|
||||||
|
ProposalData.VoteCast = Utils.StringToBytes("false");
|
||||||
|
ProposalData.VoteID = new UUID(VoteID[Blank.Key]);
|
||||||
|
ProposalData.VoteInitiator = new UUID(VoteInitiator[Blank.Key]);
|
||||||
|
ProposalData.Majority = (float)Convert.ToInt32(Majority[Blank.Key]);
|
||||||
|
ProposalData.Quorum = Convert.ToInt32(Quorum[Blank.Key]);
|
||||||
|
ProposalData.TerseDateID = Utils.StringToBytes(TerseDateID[Blank.Key]);
|
||||||
|
ProposalData.StartDateTime = Utils.StringToBytes(StartDateTime[Blank.Key]);
|
||||||
|
ProposalData.EndDateTime = Utils.StringToBytes(EndDateTime[Blank.Key]);
|
||||||
|
ProposalData.ProposalText = Utils.StringToBytes(ProposalText[Blank.Key]);
|
||||||
|
ProposalData.AlreadyVoted = false;
|
||||||
|
GAPIRP.ProposalData[0] = ProposalData;
|
||||||
|
OutPacket(GAPIRP, ThrottleOutPacketType.Task);
|
||||||
|
}
|
||||||
|
if (VoteID.Count == 0)
|
||||||
|
{
|
||||||
|
GroupActiveProposalItemReplyPacket GAPIRP = new GroupActiveProposalItemReplyPacket();
|
||||||
|
|
||||||
|
GAPIRP.AgentData.AgentID = agentID;
|
||||||
|
GAPIRP.AgentData.GroupID = groupID;
|
||||||
|
GAPIRP.TransactionData.TransactionID = transactionID;
|
||||||
|
GAPIRP.TransactionData.TotalNumItems = 1;
|
||||||
|
GroupActiveProposalItemReplyPacket.ProposalDataBlock ProposalData = new GroupActiveProposalItemReplyPacket.ProposalDataBlock();
|
||||||
|
GAPIRP.ProposalData = new GroupActiveProposalItemReplyPacket.ProposalDataBlock[1];
|
||||||
|
ProposalData.VoteCast = Utils.StringToBytes("false");
|
||||||
|
ProposalData.VoteID = UUID.Zero;
|
||||||
|
ProposalData.VoteInitiator = UUID.Zero;
|
||||||
|
ProposalData.Majority = 0;
|
||||||
|
ProposalData.Quorum = 0;
|
||||||
|
ProposalData.TerseDateID = Utils.StringToBytes("");
|
||||||
|
ProposalData.StartDateTime = Utils.StringToBytes("");
|
||||||
|
ProposalData.EndDateTime = Utils.StringToBytes("");
|
||||||
|
ProposalData.ProposalText = Utils.StringToBytes("");
|
||||||
|
ProposalData.AlreadyVoted = false;
|
||||||
|
GAPIRP.ProposalData[0] = ProposalData;
|
||||||
|
OutPacket(GAPIRP, ThrottleOutPacketType.Task);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void SendGroupVoteHistory(IClientAPI sender,UUID agentID, UUID sessionID, UUID groupID, UUID transactionID, Dictionary<int, string> VoteID, Dictionary<int, string> VoteInitiator, Dictionary<int, string> Majority, Dictionary<int, string> Quorum, Dictionary<int, string> TerseDateID, Dictionary<int, string> StartDateTime, Dictionary<int, string> EndDateTime, Dictionary<int, string> VoteType, Dictionary<int, string> VoteResult, Dictionary<int, string> ProposalText)
|
||||||
|
{
|
||||||
|
foreach (KeyValuePair<int, string> Blank in VoteID)
|
||||||
|
{
|
||||||
|
GroupVoteHistoryItemReplyPacket GVHIRP = new GroupVoteHistoryItemReplyPacket();
|
||||||
|
|
||||||
|
GVHIRP.AgentData.AgentID = agentID;
|
||||||
|
GVHIRP.AgentData.GroupID = groupID;
|
||||||
|
GVHIRP.TransactionData.TransactionID = transactionID;
|
||||||
|
GVHIRP.TransactionData.TotalNumItems = 1;
|
||||||
|
GVHIRP.HistoryItemData.VoteID = new UUID(VoteID[Blank.Key]);
|
||||||
|
GVHIRP.HistoryItemData.VoteInitiator = new UUID(VoteInitiator[Blank.Key]);
|
||||||
|
GVHIRP.HistoryItemData.Majority = (float)Convert.ToInt32(Majority[Blank.Key]);
|
||||||
|
GVHIRP.HistoryItemData.Quorum = Convert.ToInt32(Quorum[Blank.Key]);
|
||||||
|
GVHIRP.HistoryItemData.TerseDateID = Utils.StringToBytes(TerseDateID[Blank.Key]);
|
||||||
|
GVHIRP.HistoryItemData.StartDateTime = Utils.StringToBytes(StartDateTime[Blank.Key]);
|
||||||
|
GVHIRP.HistoryItemData.EndDateTime = Utils.StringToBytes(EndDateTime[Blank.Key]);
|
||||||
|
GVHIRP.HistoryItemData.VoteType = Utils.StringToBytes(VoteType[Blank.Key]);
|
||||||
|
GVHIRP.HistoryItemData.VoteResult = Utils.StringToBytes(VoteResult[Blank.Key]);
|
||||||
|
GVHIRP.HistoryItemData.ProposalText = Utils.StringToBytes(ProposalText[Blank.Key]);
|
||||||
|
GroupVoteHistoryItemReplyPacket.VoteItemBlock VoteItem = new GroupVoteHistoryItemReplyPacket.VoteItemBlock();
|
||||||
|
GVHIRP.VoteItem = new GroupVoteHistoryItemReplyPacket.VoteItemBlock[1];
|
||||||
|
VoteItem.CandidateID = UUID.Zero;
|
||||||
|
VoteItem.NumVotes = 0; //TODO: FIX THIS!!!
|
||||||
|
VoteItem.VoteCast = Utils.StringToBytes("Yes");
|
||||||
|
GVHIRP.VoteItem[0] = VoteItem;
|
||||||
|
OutPacket(GVHIRP, ThrottleOutPacketType.Task);
|
||||||
|
}
|
||||||
|
if (VoteID.Count == 0)
|
||||||
|
{
|
||||||
|
GroupVoteHistoryItemReplyPacket GVHIRP = new GroupVoteHistoryItemReplyPacket();
|
||||||
|
|
||||||
|
GVHIRP.AgentData.AgentID = agentID;
|
||||||
|
GVHIRP.AgentData.GroupID = groupID;
|
||||||
|
GVHIRP.TransactionData.TransactionID = transactionID;
|
||||||
|
GVHIRP.TransactionData.TotalNumItems = 0;
|
||||||
|
GVHIRP.HistoryItemData.VoteID = UUID.Zero;
|
||||||
|
GVHIRP.HistoryItemData.VoteInitiator = UUID.Zero;
|
||||||
|
GVHIRP.HistoryItemData.Majority = 0;
|
||||||
|
GVHIRP.HistoryItemData.Quorum = 0;
|
||||||
|
GVHIRP.HistoryItemData.TerseDateID = Utils.StringToBytes("");
|
||||||
|
GVHIRP.HistoryItemData.StartDateTime = Utils.StringToBytes("");
|
||||||
|
GVHIRP.HistoryItemData.EndDateTime = Utils.StringToBytes("");
|
||||||
|
GVHIRP.HistoryItemData.VoteType = Utils.StringToBytes("");
|
||||||
|
GVHIRP.HistoryItemData.VoteResult = Utils.StringToBytes("");
|
||||||
|
GVHIRP.HistoryItemData.ProposalText = Utils.StringToBytes("");
|
||||||
|
GroupVoteHistoryItemReplyPacket.VoteItemBlock VoteItem = new GroupVoteHistoryItemReplyPacket.VoteItemBlock();
|
||||||
|
GVHIRP.VoteItem = new GroupVoteHistoryItemReplyPacket.VoteItemBlock[1];
|
||||||
|
VoteItem.CandidateID = UUID.Zero;
|
||||||
|
VoteItem.NumVotes = 0; //TODO: FIX THIS!!!
|
||||||
|
VoteItem.VoteCast = Utils.StringToBytes("No");
|
||||||
|
GVHIRP.VoteItem[0] = VoteItem;
|
||||||
|
OutPacket(GVHIRP, ThrottleOutPacketType.Task);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void SendGroupAccountingDetails(IClientAPI sender,UUID groupID, UUID transactionID, UUID sessionID, int amt)
|
||||||
|
{
|
||||||
|
GroupAccountDetailsReplyPacket GADRP = new GroupAccountDetailsReplyPacket();
|
||||||
|
GADRP.AgentData = new GroupAccountDetailsReplyPacket.AgentDataBlock();
|
||||||
|
GADRP.AgentData.AgentID = sender.AgentId;
|
||||||
|
GADRP.AgentData.GroupID = groupID;
|
||||||
|
GADRP.HistoryData = new GroupAccountDetailsReplyPacket.HistoryDataBlock[1];
|
||||||
|
GroupAccountDetailsReplyPacket.HistoryDataBlock History = new GroupAccountDetailsReplyPacket.HistoryDataBlock();
|
||||||
|
GADRP.MoneyData = new GroupAccountDetailsReplyPacket.MoneyDataBlock();
|
||||||
|
GADRP.MoneyData.CurrentInterval = 0;
|
||||||
|
GADRP.MoneyData.IntervalDays = 7;
|
||||||
|
GADRP.MoneyData.RequestID = transactionID;
|
||||||
|
GADRP.MoneyData.StartDate = Utils.StringToBytes(DateTime.Today.ToString());
|
||||||
|
History.Amount = amt;
|
||||||
|
History.Description = Utils.StringToBytes("");
|
||||||
|
GADRP.HistoryData[0] = History;
|
||||||
|
OutPacket(GADRP, ThrottleOutPacketType.Task);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void SendGroupAccountingSummary(IClientAPI sender,UUID groupID, uint moneyAmt, int totalTier, int usedTier)
|
||||||
|
{
|
||||||
|
GroupAccountSummaryReplyPacket GASRP =
|
||||||
|
(GroupAccountSummaryReplyPacket)PacketPool.Instance.GetPacket(
|
||||||
|
PacketType.GroupAccountSummaryReply);
|
||||||
|
|
||||||
|
GASRP.AgentData = new GroupAccountSummaryReplyPacket.AgentDataBlock();
|
||||||
|
GASRP.AgentData.AgentID = sender.AgentId;
|
||||||
|
GASRP.AgentData.GroupID = groupID;
|
||||||
|
GASRP.MoneyData = new GroupAccountSummaryReplyPacket.MoneyDataBlock();
|
||||||
|
GASRP.MoneyData.Balance = (int)moneyAmt;
|
||||||
|
GASRP.MoneyData.TotalCredits = totalTier;
|
||||||
|
GASRP.MoneyData.TotalDebits = usedTier;
|
||||||
|
GASRP.MoneyData.StartDate = new byte[1];
|
||||||
|
GASRP.MoneyData.CurrentInterval = 1;
|
||||||
|
GASRP.MoneyData.GroupTaxCurrent = 0;
|
||||||
|
GASRP.MoneyData.GroupTaxEstimate = 0;
|
||||||
|
GASRP.MoneyData.IntervalDays = 0;
|
||||||
|
GASRP.MoneyData.LandTaxCurrent = 0;
|
||||||
|
GASRP.MoneyData.LandTaxEstimate = 0;
|
||||||
|
GASRP.MoneyData.LastTaxDate = new byte[1];
|
||||||
|
GASRP.MoneyData.LightTaxCurrent = 0;
|
||||||
|
GASRP.MoneyData.TaxDate = new byte[1];
|
||||||
|
GASRP.MoneyData.RequestID = sender.AgentId;
|
||||||
|
GASRP.MoneyData.ParcelDirFeeEstimate = 0;
|
||||||
|
GASRP.MoneyData.ParcelDirFeeCurrent = 0;
|
||||||
|
GASRP.MoneyData.ObjectTaxEstimate = 0;
|
||||||
|
GASRP.MoneyData.NonExemptMembers = 0;
|
||||||
|
GASRP.MoneyData.ObjectTaxCurrent = 0;
|
||||||
|
GASRP.MoneyData.LightTaxEstimate = 0;
|
||||||
|
OutPacket(GASRP, ThrottleOutPacketType.Task);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void SendGroupTransactionsSummaryDetails(IClientAPI sender,UUID groupID, UUID transactionID, UUID sessionID, int amt)
|
||||||
|
{
|
||||||
|
GroupAccountTransactionsReplyPacket GATRP =
|
||||||
|
(GroupAccountTransactionsReplyPacket)PacketPool.Instance.GetPacket(
|
||||||
|
PacketType.GroupAccountTransactionsReply);
|
||||||
|
|
||||||
|
GATRP.AgentData = new GroupAccountTransactionsReplyPacket.AgentDataBlock();
|
||||||
|
GATRP.AgentData.AgentID = sender.AgentId;
|
||||||
|
GATRP.AgentData.GroupID = groupID;
|
||||||
|
GATRP.MoneyData = new GroupAccountTransactionsReplyPacket.MoneyDataBlock();
|
||||||
|
GATRP.MoneyData.CurrentInterval = 0;
|
||||||
|
GATRP.MoneyData.IntervalDays = 7;
|
||||||
|
GATRP.MoneyData.RequestID = transactionID;
|
||||||
|
GATRP.MoneyData.StartDate = Utils.StringToBytes(DateTime.Today.ToString());
|
||||||
|
GATRP.HistoryData = new GroupAccountTransactionsReplyPacket.HistoryDataBlock[1];
|
||||||
|
GroupAccountTransactionsReplyPacket.HistoryDataBlock History = new GroupAccountTransactionsReplyPacket.HistoryDataBlock();
|
||||||
|
History.Amount = 0;
|
||||||
|
History.Item = Utils.StringToBytes("");
|
||||||
|
History.Time = Utils.StringToBytes("");
|
||||||
|
History.Type = 0;
|
||||||
|
History.User = Utils.StringToBytes("");
|
||||||
|
GATRP.HistoryData[0] = History;
|
||||||
|
OutPacket(GATRP, ThrottleOutPacketType.Task);
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Send the region heightmap to the client
|
/// Send the region heightmap to the client
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
@ -4537,6 +4740,25 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||||
AddLocalPacketHandler(PacketType.AvatarInterestsUpdate, HandleAvatarInterestsUpdate);
|
AddLocalPacketHandler(PacketType.AvatarInterestsUpdate, HandleAvatarInterestsUpdate);
|
||||||
AddLocalPacketHandler(PacketType.GrantUserRights, HandleGrantUserRights);
|
AddLocalPacketHandler(PacketType.GrantUserRights, HandleGrantUserRights);
|
||||||
AddLocalPacketHandler(PacketType.PlacesQuery, HandlePlacesQuery);
|
AddLocalPacketHandler(PacketType.PlacesQuery, HandlePlacesQuery);
|
||||||
|
AddLocalPacketHandler(PacketType.UpdateMuteListEntry, HandleUpdateMuteListEntry);
|
||||||
|
AddLocalPacketHandler(PacketType.RemoveMuteListEntry, HandleRemoveMuteListEntry);
|
||||||
|
AddLocalPacketHandler(PacketType.UserReport, HandleUserReport);
|
||||||
|
AddLocalPacketHandler(PacketType.FindAgent, HandleFindAgent);
|
||||||
|
AddLocalPacketHandler(PacketType.TrackAgent, HandleTrackAgent);
|
||||||
|
AddLocalPacketHandler(PacketType.GodUpdateRegionInfo, HandleGodUpdateRegionInfoUpdate);
|
||||||
|
AddLocalPacketHandler(PacketType.GodlikeMessage, HandleGodlikeMessage);
|
||||||
|
AddLocalPacketHandler(PacketType.StateSave, HandleSaveStatePacket);
|
||||||
|
AddLocalPacketHandler(PacketType.GroupAccountDetailsRequest, HandleGroupAccountDetailsRequest);
|
||||||
|
AddLocalPacketHandler(PacketType.GroupAccountSummaryRequest, HandleGroupAccountSummaryRequest);
|
||||||
|
AddLocalPacketHandler(PacketType.GroupAccountTransactionsRequest, HandleGroupTransactionsDetailsRequest);
|
||||||
|
AddLocalPacketHandler(PacketType.FreezeUser, HandleFreezeUser);
|
||||||
|
AddLocalPacketHandler(PacketType.EjectUser, HandleEjectUser);
|
||||||
|
AddLocalPacketHandler(PacketType.ParcelBuyPass, HandleParcelBuyPass);
|
||||||
|
AddLocalPacketHandler(PacketType.ParcelGodMarkAsContent, HandleParcelGodMarkAsContent);
|
||||||
|
AddLocalPacketHandler(PacketType.GroupActiveProposalsRequest, HandleGroupActiveProposalsRequest);
|
||||||
|
AddLocalPacketHandler(PacketType.GroupVoteHistoryRequest, HandleGroupVoteHistoryRequest);
|
||||||
|
AddLocalPacketHandler(PacketType.SimWideDeletes, HandleSimWideDeletes);
|
||||||
|
AddLocalPacketHandler(PacketType.SendPostcard, HandleSendPostcard);
|
||||||
}
|
}
|
||||||
|
|
||||||
#region Packet Handlers
|
#region Packet Handlers
|
||||||
|
@ -4633,6 +4855,71 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private bool HandleParcelGodMarkAsContent(IClientAPI client, Packet Packet)
|
||||||
|
{
|
||||||
|
ParcelGodMarkAsContentPacket ParcelGodMarkAsContent =
|
||||||
|
(ParcelGodMarkAsContentPacket)Packet;
|
||||||
|
|
||||||
|
ParcelGodMark ParcelGodMarkAsContentHandler = OnParcelGodMark;
|
||||||
|
if (ParcelGodMarkAsContentHandler != null)
|
||||||
|
{
|
||||||
|
ParcelGodMarkAsContentHandler(this,
|
||||||
|
ParcelGodMarkAsContent.AgentData.AgentID,
|
||||||
|
ParcelGodMarkAsContent.ParcelData.LocalID);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
private bool HandleFreezeUser(IClientAPI client, Packet Packet)
|
||||||
|
{
|
||||||
|
FreezeUserPacket FreezeUser = (FreezeUserPacket)Packet;
|
||||||
|
|
||||||
|
FreezeUserUpdate FreezeUserHandler = OnParcelFreezeUserEvent;
|
||||||
|
if (FreezeUserHandler != null)
|
||||||
|
{
|
||||||
|
FreezeUserHandler(this,
|
||||||
|
FreezeUser.AgentData.AgentID,
|
||||||
|
FreezeUser.Data.Flags,
|
||||||
|
FreezeUser.Data.TargetID);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
private bool HandleEjectUser(IClientAPI client, Packet Packet)
|
||||||
|
{
|
||||||
|
EjectUserPacket EjectUser =
|
||||||
|
(EjectUserPacket)Packet;
|
||||||
|
|
||||||
|
EjectUserUpdate EjectUserHandler = OnParcelEjectUserEvent;
|
||||||
|
if (EjectUserHandler != null)
|
||||||
|
{
|
||||||
|
EjectUserHandler(this,
|
||||||
|
EjectUser.AgentData.AgentID,
|
||||||
|
EjectUser.Data.Flags,
|
||||||
|
EjectUser.Data.TargetID);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
private bool HandleParcelBuyPass(IClientAPI client, Packet Packet)
|
||||||
|
{
|
||||||
|
ParcelBuyPassPacket ParcelBuyPass =
|
||||||
|
(ParcelBuyPassPacket)Packet;
|
||||||
|
|
||||||
|
ParcelBuyPass ParcelBuyPassHandler = OnParcelBuyPass;
|
||||||
|
if (ParcelBuyPassHandler != null)
|
||||||
|
{
|
||||||
|
ParcelBuyPassHandler(this,
|
||||||
|
ParcelBuyPass.AgentData.AgentID,
|
||||||
|
ParcelBuyPass.ParcelData.LocalID);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
private bool HandleParcelBuyRequest(IClientAPI sender, Packet Pack)
|
private bool HandleParcelBuyRequest(IClientAPI sender, Packet Pack)
|
||||||
{
|
{
|
||||||
ParcelBuyPacket parcel = (ParcelBuyPacket)Pack;
|
ParcelBuyPacket parcel = (ParcelBuyPacket)Pack;
|
||||||
|
@ -4999,6 +5286,36 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private bool HandleFindAgent(IClientAPI client, Packet Packet)
|
||||||
|
{
|
||||||
|
FindAgentPacket FindAgent =
|
||||||
|
(FindAgentPacket)Packet;
|
||||||
|
|
||||||
|
FindAgentUpdate FindAgentHandler = OnFindAgentEvent;
|
||||||
|
if (FindAgentHandler != null)
|
||||||
|
{
|
||||||
|
FindAgentHandler(this,FindAgent.AgentBlock.Hunter,FindAgent.AgentBlock.Prey);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
private bool HandleTrackAgent(IClientAPI client, Packet Packet)
|
||||||
|
{
|
||||||
|
TrackAgentPacket TrackAgent =
|
||||||
|
(TrackAgentPacket)Packet;
|
||||||
|
|
||||||
|
TrackAgentUpdate TrackAgentHandler = OnTrackAgentEvent;
|
||||||
|
if (TrackAgentHandler != null)
|
||||||
|
{
|
||||||
|
TrackAgentHandler(this,
|
||||||
|
TrackAgent.AgentData.AgentID,
|
||||||
|
TrackAgent.TargetData.PreyID);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
private bool HandlerRezObject(IClientAPI sender, Packet Pack)
|
private bool HandlerRezObject(IClientAPI sender, Packet Pack)
|
||||||
{
|
{
|
||||||
RezObjectPacket rezPacket = (RezObjectPacket)Pack;
|
RezObjectPacket rezPacket = (RezObjectPacket)Pack;
|
||||||
|
@ -8268,6 +8585,70 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private bool HandleGodUpdateRegionInfoUpdate(IClientAPI client, Packet Packet)
|
||||||
|
{
|
||||||
|
GodUpdateRegionInfoPacket GodUpdateRegionInfo =
|
||||||
|
(GodUpdateRegionInfoPacket)Packet;
|
||||||
|
|
||||||
|
GodUpdateRegionInfoUpdate handlerGodUpdateRegionInfo = OnGodUpdateRegionInfoUpdateEvent;
|
||||||
|
if (handlerGodUpdateRegionInfo != null)
|
||||||
|
{
|
||||||
|
handlerGodUpdateRegionInfo(this,
|
||||||
|
GodUpdateRegionInfo.RegionInfo.BillableFactor,
|
||||||
|
GodUpdateRegionInfo.RegionInfo.EstateID,
|
||||||
|
GodUpdateRegionInfo.RegionInfo.RegionFlags,
|
||||||
|
GodUpdateRegionInfo.RegionInfo.SimName,
|
||||||
|
GodUpdateRegionInfo.RegionInfo.RedirectGridX,
|
||||||
|
GodUpdateRegionInfo.RegionInfo.RedirectGridY);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
private bool HandleSimWideDeletes(IClientAPI client, Packet Packet)
|
||||||
|
{
|
||||||
|
SimWideDeletesPacket SimWideDeletesRequest =
|
||||||
|
(SimWideDeletesPacket)Packet;
|
||||||
|
SimWideDeletesDelegate handlerSimWideDeletesRequest = OnSimWideDeletes;
|
||||||
|
if (handlerSimWideDeletesRequest != null)
|
||||||
|
{
|
||||||
|
handlerSimWideDeletesRequest(this, SimWideDeletesRequest.AgentData.AgentID,(int)SimWideDeletesRequest.DataBlock.Flags,SimWideDeletesRequest.DataBlock.TargetID);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
private bool HandleGodlikeMessage(IClientAPI client, Packet Packet)
|
||||||
|
{
|
||||||
|
GodlikeMessagePacket GodlikeMessage =
|
||||||
|
(GodlikeMessagePacket)Packet;
|
||||||
|
|
||||||
|
GodlikeMessage handlerGodlikeMessage = onGodlikeMessageEvent;
|
||||||
|
if (handlerGodlikeMessage != null)
|
||||||
|
{
|
||||||
|
handlerGodlikeMessage(this,
|
||||||
|
GodlikeMessage.MethodData.Invoice,
|
||||||
|
GodlikeMessage.MethodData.Method,
|
||||||
|
GodlikeMessage.ParamList[0].Parameter);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
private bool HandleSaveStatePacket(IClientAPI client, Packet Packet)
|
||||||
|
{
|
||||||
|
StateSavePacket SaveStateMessage =
|
||||||
|
(StateSavePacket)Packet;
|
||||||
|
SaveStateHandler handlerSaveStatePacket = OnSaveStateEvent;
|
||||||
|
if (handlerSaveStatePacket != null)
|
||||||
|
{
|
||||||
|
handlerSaveStatePacket(this,SaveStateMessage.AgentData.AgentID);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
private bool HandleGodKickUser(IClientAPI sender, Packet Pack)
|
private bool HandleGodKickUser(IClientAPI sender, Packet Pack)
|
||||||
{
|
{
|
||||||
GodKickUserPacket gkupack = (GodKickUserPacket)Pack;
|
GodKickUserPacket gkupack = (GodKickUserPacket)Pack;
|
||||||
|
@ -8619,6 +9000,76 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private bool HandleUpdateMuteListEntry(IClientAPI client, Packet Packet)
|
||||||
|
{
|
||||||
|
UpdateMuteListEntryPacket UpdateMuteListEntry =
|
||||||
|
(UpdateMuteListEntryPacket)Packet;
|
||||||
|
MuteListEntryUpdate handlerUpdateMuteListEntry = OnUpdateMuteListEntryEvent;
|
||||||
|
if (handlerUpdateMuteListEntry != null)
|
||||||
|
{
|
||||||
|
handlerUpdateMuteListEntry(this, UpdateMuteListEntry.MuteData.MuteID,
|
||||||
|
Utils.BytesToString(UpdateMuteListEntry.MuteData.MuteName),
|
||||||
|
UpdateMuteListEntry.MuteData.MuteType,
|
||||||
|
UpdateMuteListEntry.AgentData.AgentID);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
private bool HandleRemoveMuteListEntry(IClientAPI client, Packet Packet)
|
||||||
|
{
|
||||||
|
RemoveMuteListEntryPacket RemoveMuteListEntry =
|
||||||
|
(RemoveMuteListEntryPacket)Packet;
|
||||||
|
MuteListEntryRemove handlerRemoveMuteListEntry = OnRemoveMuteListEntryEvent;
|
||||||
|
if (handlerRemoveMuteListEntry != null)
|
||||||
|
{
|
||||||
|
handlerRemoveMuteListEntry(this,
|
||||||
|
RemoveMuteListEntry.MuteData.MuteID,
|
||||||
|
Utils.BytesToString(RemoveMuteListEntry.MuteData.MuteName),
|
||||||
|
RemoveMuteListEntry.AgentData.AgentID);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
private bool HandleUserReport(IClientAPI client, Packet Packet)
|
||||||
|
{
|
||||||
|
UserReportPacket UserReport =
|
||||||
|
(UserReportPacket)Packet;
|
||||||
|
|
||||||
|
NewUserReport handlerUserReport = OnUserReportEvent;
|
||||||
|
if (handlerUserReport != null)
|
||||||
|
{
|
||||||
|
handlerUserReport(this,
|
||||||
|
Utils.BytesToString(UserReport.ReportData.AbuseRegionName),
|
||||||
|
UserReport.ReportData.AbuserID,
|
||||||
|
UserReport.ReportData.Category,
|
||||||
|
UserReport.ReportData.CheckFlags,
|
||||||
|
Utils.BytesToString(UserReport.ReportData.Details),
|
||||||
|
UserReport.ReportData.ObjectID,
|
||||||
|
UserReport.ReportData.Position,
|
||||||
|
UserReport.ReportData.ReportType,
|
||||||
|
UserReport.ReportData.ScreenshotID,
|
||||||
|
Utils.BytesToString(UserReport.ReportData.Summary),
|
||||||
|
UserReport.AgentData.AgentID);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
private bool HandleSendPostcard(IClientAPI client, Packet packet)
|
||||||
|
{
|
||||||
|
SendPostcardPacket SendPostcard =
|
||||||
|
(SendPostcardPacket)packet;
|
||||||
|
SendPostcard handlerSendPostcard = OnSendPostcard;
|
||||||
|
if (handlerSendPostcard != null)
|
||||||
|
{
|
||||||
|
handlerSendPostcard(this);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
private bool HandleUseCircuitCode(IClientAPI sender, Packet Pack)
|
private bool HandleUseCircuitCode(IClientAPI sender, Packet Pack)
|
||||||
{
|
{
|
||||||
return true;
|
return true;
|
||||||
|
@ -8888,6 +9339,71 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private bool HandleGroupVoteHistoryRequest(IClientAPI client, Packet Packet)
|
||||||
|
{
|
||||||
|
GroupVoteHistoryRequestPacket GroupVoteHistoryRequest =
|
||||||
|
(GroupVoteHistoryRequestPacket)Packet;
|
||||||
|
GroupVoteHistoryRequest handlerGroupVoteHistoryRequest = OnGroupVoteHistoryRequest;
|
||||||
|
if (handlerGroupVoteHistoryRequest != null)
|
||||||
|
{
|
||||||
|
handlerGroupVoteHistoryRequest(this, GroupVoteHistoryRequest.AgentData.AgentID,GroupVoteHistoryRequest.AgentData.SessionID,GroupVoteHistoryRequest.GroupData.GroupID,GroupVoteHistoryRequest.TransactionData.TransactionID);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
private bool HandleGroupActiveProposalsRequest(IClientAPI client, Packet Packet)
|
||||||
|
{
|
||||||
|
GroupActiveProposalsRequestPacket GroupActiveProposalsRequest =
|
||||||
|
(GroupActiveProposalsRequestPacket)Packet;
|
||||||
|
GroupActiveProposalsRequest handlerGroupActiveProposalsRequest = OnGroupActiveProposalsRequest;
|
||||||
|
if (handlerGroupActiveProposalsRequest != null)
|
||||||
|
{
|
||||||
|
handlerGroupActiveProposalsRequest(this, GroupActiveProposalsRequest.AgentData.AgentID,GroupActiveProposalsRequest.AgentData.SessionID,GroupActiveProposalsRequest.GroupData.GroupID,GroupActiveProposalsRequest.TransactionData.TransactionID);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
private bool HandleGroupAccountDetailsRequest(IClientAPI client, Packet Packet)
|
||||||
|
{
|
||||||
|
GroupAccountDetailsRequestPacket GroupAccountDetailsRequest =
|
||||||
|
(GroupAccountDetailsRequestPacket)Packet;
|
||||||
|
GroupAccountDetailsRequest handlerGroupAccountDetailsRequest = OnGroupAccountDetailsRequest;
|
||||||
|
if (handlerGroupAccountDetailsRequest != null)
|
||||||
|
{
|
||||||
|
handlerGroupAccountDetailsRequest(this, GroupAccountDetailsRequest.AgentData.AgentID,GroupAccountDetailsRequest.AgentData.GroupID,GroupAccountDetailsRequest.MoneyData.RequestID,GroupAccountDetailsRequest.AgentData.SessionID);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
private bool HandleGroupAccountSummaryRequest(IClientAPI client, Packet Packet)
|
||||||
|
{
|
||||||
|
GroupAccountSummaryRequestPacket GroupAccountSummaryRequest =
|
||||||
|
(GroupAccountSummaryRequestPacket)Packet;
|
||||||
|
GroupAccountSummaryRequest handlerGroupAccountSummaryRequest = OnGroupAccountSummaryRequest;
|
||||||
|
if (handlerGroupAccountSummaryRequest != null)
|
||||||
|
{
|
||||||
|
handlerGroupAccountSummaryRequest(this, GroupAccountSummaryRequest.AgentData.AgentID,GroupAccountSummaryRequest.AgentData.GroupID);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
private bool HandleGroupTransactionsDetailsRequest(IClientAPI client, Packet Packet)
|
||||||
|
{
|
||||||
|
GroupAccountTransactionsRequestPacket GroupAccountTransactionsRequest =
|
||||||
|
(GroupAccountTransactionsRequestPacket)Packet;
|
||||||
|
GroupAccountTransactionsRequest handlerGroupAccountTransactionsRequest = OnGroupAccountTransactionsRequest;
|
||||||
|
if (handlerGroupAccountTransactionsRequest != null)
|
||||||
|
{
|
||||||
|
handlerGroupAccountTransactionsRequest(this, GroupAccountTransactionsRequest.AgentData.AgentID,GroupAccountTransactionsRequest.AgentData.GroupID,GroupAccountTransactionsRequest.MoneyData.RequestID,GroupAccountTransactionsRequest.AgentData.SessionID);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
private bool HandleGroupTitlesRequest(IClientAPI sender, Packet Pack)
|
private bool HandleGroupTitlesRequest(IClientAPI sender, Packet Pack)
|
||||||
{
|
{
|
||||||
GroupTitlesRequestPacket groupTitlesRequest =
|
GroupTitlesRequestPacket groupTitlesRequest =
|
||||||
|
|
|
@ -395,7 +395,10 @@ namespace OpenSim.Region.CoreModules.Avatar.Friends
|
||||||
|
|
||||||
// if it leaves, we want to know, too
|
// if it leaves, we want to know, too
|
||||||
client.OnLogout += OnLogout;
|
client.OnLogout += OnLogout;
|
||||||
|
|
||||||
client.OnGrantUserRights += GrantUserFriendRights;
|
client.OnGrantUserRights += GrantUserFriendRights;
|
||||||
|
client.OnTrackAgentEvent += FindAgent;
|
||||||
|
client.OnFindAgentEvent += FindAgent;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1114,6 +1117,26 @@ namespace OpenSim.Region.CoreModules.Avatar.Friends
|
||||||
{
|
{
|
||||||
((Scene)remoteClient.Scene).CommsManager.UpdateUserFriendPerms(requester, target, (uint)rights);
|
((Scene)remoteClient.Scene).CommsManager.UpdateUserFriendPerms(requester, target, (uint)rights);
|
||||||
}
|
}
|
||||||
|
public void FindAgent(IClientAPI remoteClient, UUID hunter, UUID target)
|
||||||
|
{
|
||||||
|
List<FriendListItem> friendList = GetUserFriends(hunter);
|
||||||
|
foreach (FriendListItem item in friendList)
|
||||||
|
{
|
||||||
|
if (item.onlinestatus == true)
|
||||||
|
{
|
||||||
|
if (item.Friend == target && (item.FriendPerms & (uint)FriendRights.CanSeeOnMap) != 0)
|
||||||
|
{
|
||||||
|
ScenePresence SPTarget = ((Scene)remoteClient.Scene).GetScenePresence(target);
|
||||||
|
string regionname = SPTarget.Scene.RegionInfo.RegionName;
|
||||||
|
remoteClient.SendScriptTeleportRequest("FindAgent", regionname,new Vector3(SPTarget.AbsolutePosition),new Vector3(SPTarget.Lookat));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
remoteClient.SendAgentAlertMessage("The agent you are looking for is not online.", false);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public List<FriendListItem> GetUserFriends(UUID agentID)
|
public List<FriendListItem> GetUserFriends(UUID agentID)
|
||||||
{
|
{
|
||||||
|
|
|
@ -708,5 +708,10 @@ namespace OpenSim.Region.CoreModules.Framework.EventQueue
|
||||||
OSD item = EventQueueHelper.GroupMembership(groupUpdate);
|
OSD item = EventQueueHelper.GroupMembership(groupUpdate);
|
||||||
Enqueue(item, avatarID);
|
Enqueue(item, avatarID);
|
||||||
}
|
}
|
||||||
|
public void QueryReply(PlacesReplyPacket groupUpdate, UUID avatarID)
|
||||||
|
{
|
||||||
|
OSD item = EventQueueHelper.PlacesQuery(groupUpdate);
|
||||||
|
Enqueue(item, avatarID);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -455,5 +455,47 @@ namespace OpenSim.Region.CoreModules.Framework.EventQueue
|
||||||
return groupUpdate;
|
return groupUpdate;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static OSD PlacesQuery(PlacesReplyPacket PlacesReply)
|
||||||
|
{
|
||||||
|
OSDMap placesReply = new OSDMap();
|
||||||
|
placesReply.Add("message", OSD.FromString("PlacesReplyMessage"));
|
||||||
|
|
||||||
|
OSDMap body = new OSDMap();
|
||||||
|
OSDArray agentData = new OSDArray();
|
||||||
|
OSDMap agentDataMap = new OSDMap();
|
||||||
|
agentDataMap.Add("AgentID", OSD.FromUUID(PlacesReply.AgentData.AgentID));
|
||||||
|
agentDataMap.Add("QueryID", OSD.FromUUID(PlacesReply.AgentData.QueryID));
|
||||||
|
agentDataMap.Add("TransactionID", OSD.FromUUID(PlacesReply.TransactionData.TransactionID));
|
||||||
|
agentData.Add(agentDataMap);
|
||||||
|
body.Add("AgentData", agentData);
|
||||||
|
|
||||||
|
OSDArray QueryData = new OSDArray();
|
||||||
|
|
||||||
|
foreach (PlacesReplyPacket.QueryDataBlock groupDataBlock in PlacesReply.QueryData)
|
||||||
|
{
|
||||||
|
OSDMap QueryDataMap = new OSDMap();
|
||||||
|
QueryDataMap.Add("ActualArea", OSD.FromInteger(groupDataBlock.ActualArea));
|
||||||
|
QueryDataMap.Add("BillableArea", OSD.FromInteger(groupDataBlock.BillableArea));
|
||||||
|
QueryDataMap.Add("Description", OSD.FromBinary(groupDataBlock.Desc));
|
||||||
|
QueryDataMap.Add("Dwell", OSD.FromInteger((int)groupDataBlock.Dwell));
|
||||||
|
QueryDataMap.Add("Flags", OSD.FromString(Convert.ToString(groupDataBlock.Flags)));
|
||||||
|
QueryDataMap.Add("GlobalX", OSD.FromInteger((int)groupDataBlock.GlobalX));
|
||||||
|
QueryDataMap.Add("GlobalY", OSD.FromInteger((int)groupDataBlock.GlobalY));
|
||||||
|
QueryDataMap.Add("GlobalZ", OSD.FromInteger((int)groupDataBlock.GlobalZ));
|
||||||
|
QueryDataMap.Add("Name", OSD.FromBinary(groupDataBlock.Name));
|
||||||
|
QueryDataMap.Add("OwnerID", OSD.FromUUID(groupDataBlock.OwnerID));
|
||||||
|
QueryDataMap.Add("SimName", OSD.FromBinary(groupDataBlock.SimName));
|
||||||
|
QueryDataMap.Add("SnapShotID", OSD.FromUUID(groupDataBlock.SnapshotID));
|
||||||
|
QueryDataMap.Add("ProductSku", OSD.FromInteger(0));
|
||||||
|
QueryDataMap.Add("Price", OSD.FromInteger(groupDataBlock.Price));
|
||||||
|
|
||||||
|
QueryData.Add(QueryDataMap);
|
||||||
|
}
|
||||||
|
body.Add("QueryData", QueryData);
|
||||||
|
placesReply.Add("QueryData[]", body);
|
||||||
|
|
||||||
|
return placesReply;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -274,6 +274,26 @@ namespace OpenSim.Region.Examples.SimpleModule
|
||||||
|
|
||||||
public event PlacesQuery OnPlacesQuery;
|
public event PlacesQuery OnPlacesQuery;
|
||||||
|
|
||||||
|
public event FindAgentUpdate OnFindAgentEvent;
|
||||||
|
public event TrackAgentUpdate OnTrackAgentEvent;
|
||||||
|
public event NewUserReport OnUserReportEvent;
|
||||||
|
public event SaveStateHandler OnSaveStateEvent;
|
||||||
|
public event GroupAccountSummaryRequest OnGroupAccountSummaryRequest;
|
||||||
|
public event GroupAccountDetailsRequest OnGroupAccountDetailsRequest;
|
||||||
|
public event GroupAccountTransactionsRequest OnGroupAccountTransactionsRequest;
|
||||||
|
public event FreezeUserUpdate OnParcelFreezeUserEvent;
|
||||||
|
public event EjectUserUpdate OnParcelEjectUserEvent;
|
||||||
|
public event ParcelBuyPass OnParcelBuyPass;
|
||||||
|
public event ParcelGodMark OnParcelGodMark;
|
||||||
|
public event GroupActiveProposalsRequest OnGroupActiveProposalsRequest;
|
||||||
|
public event GroupVoteHistoryRequest OnGroupVoteHistoryRequest;
|
||||||
|
public event SimWideDeletesDelegate OnSimWideDeletes;
|
||||||
|
public event SendPostcard OnSendPostcard;
|
||||||
|
public event MuteListEntryUpdate OnUpdateMuteListEntryEvent;
|
||||||
|
public event MuteListEntryRemove OnRemoveMuteListEntryEvent;
|
||||||
|
public event GodlikeMessage onGodlikeMessageEvent;
|
||||||
|
public event GodUpdateRegionInfoUpdate OnGodUpdateRegionInfoUpdateEvent;
|
||||||
|
|
||||||
#pragma warning restore 67
|
#pragma warning restore 67
|
||||||
|
|
||||||
private UUID myID = UUID.Random();
|
private UUID myID = UUID.Random();
|
||||||
|
@ -1103,5 +1123,17 @@ namespace OpenSim.Region.Examples.SimpleModule
|
||||||
public void SendAvatarInterestsReply(UUID avatarID, uint wantMask, string wantText, uint skillsMask, string skillsText, string languages)
|
public void SendAvatarInterestsReply(UUID avatarID, uint wantMask, string wantText, uint skillsMask, string skillsText, string languages)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void SendGroupAccountingDetails(IClientAPI sender,UUID groupID, UUID transactionID, UUID sessionID, int amt)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
public void SendGroupAccountingSummary(IClientAPI sender,UUID groupID, uint moneyAmt, int totalTier, int usedTier)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
public void SendGroupTransactionsSummaryDetails(IClientAPI sender,UUID groupID, UUID transactionID, UUID sessionID,int amt)
|
||||||
|
{
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -413,6 +413,17 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
get { return true; }
|
get { return true; }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private bool m_passCollision;
|
||||||
|
public bool PassCollision
|
||||||
|
{
|
||||||
|
get { return m_passCollision; }
|
||||||
|
set
|
||||||
|
{
|
||||||
|
m_passCollision = value;
|
||||||
|
HasGroupChanged = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public bool IsSelected
|
public bool IsSelected
|
||||||
{
|
{
|
||||||
get { return m_isSelected; }
|
get { return m_isSelected; }
|
||||||
|
|
|
@ -141,6 +141,9 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
[XmlIgnore]
|
[XmlIgnore]
|
||||||
public UUID FromItemID;
|
public UUID FromItemID;
|
||||||
|
|
||||||
|
[XmlIgnore]
|
||||||
|
private Dictionary<int, string> m_CollisionFilter = new Dictionary<int, string>();
|
||||||
|
|
||||||
/// <value>
|
/// <value>
|
||||||
/// The UUID of the user inventory item from which this object was rezzed if this is a root part.
|
/// The UUID of the user inventory item from which this object was rezzed if this is a root part.
|
||||||
/// If UUID.Zero then either this is not a root part or there is no connection with a user inventory item.
|
/// If UUID.Zero then either this is not a root part or there is no connection with a user inventory item.
|
||||||
|
@ -457,6 +460,17 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
[XmlIgnore]
|
||||||
|
public Dictionary<int, string> CollisionFilter
|
||||||
|
{
|
||||||
|
get { return m_CollisionFilter; }
|
||||||
|
set
|
||||||
|
{
|
||||||
|
m_CollisionFilter = value;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public ulong RegionHandle
|
public ulong RegionHandle
|
||||||
{
|
{
|
||||||
get { return m_regionHandle; }
|
get { return m_regionHandle; }
|
||||||
|
@ -1885,7 +1899,14 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
return;
|
return;
|
||||||
|
|
||||||
SceneObjectPart obj = m_parentGroup.Scene.GetSceneObjectPart(localId);
|
SceneObjectPart obj = m_parentGroup.Scene.GetSceneObjectPart(localId);
|
||||||
|
string data = "";
|
||||||
if (obj != null)
|
if (obj != null)
|
||||||
|
{
|
||||||
|
if (m_parentGroup.RootPart.CollisionFilter.ContainsValue(obj.UUID.ToString()) || m_parentGroup.RootPart.CollisionFilter.ContainsValue(obj.Name))
|
||||||
|
{
|
||||||
|
bool found = m_parentGroup.RootPart.CollisionFilter.TryGetValue(1,out data);
|
||||||
|
//If it is 1, it is to accept ONLY collisions from this object
|
||||||
|
if (found)
|
||||||
{
|
{
|
||||||
DetectedObject detobj = new DetectedObject();
|
DetectedObject detobj = new DetectedObject();
|
||||||
detobj.keyUUID = obj.UUID;
|
detobj.keyUUID = obj.UUID;
|
||||||
|
@ -1898,6 +1919,30 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
detobj.groupUUID = obj._groupID;
|
detobj.groupUUID = obj._groupID;
|
||||||
colliding.Add(detobj);
|
colliding.Add(detobj);
|
||||||
}
|
}
|
||||||
|
//If it is 0, it is to not accept collisions from this object
|
||||||
|
else
|
||||||
|
{
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
bool found = m_parentGroup.RootPart.CollisionFilter.TryGetValue(1,out data);
|
||||||
|
//If it is 1, it is to accept ONLY collisions from this object, so this other object will not work
|
||||||
|
if (found)
|
||||||
|
{
|
||||||
|
DetectedObject detobj = new DetectedObject();
|
||||||
|
detobj.keyUUID = obj.UUID;
|
||||||
|
detobj.nameStr = obj.Name;
|
||||||
|
detobj.ownerUUID = obj._ownerID;
|
||||||
|
detobj.posVector = obj.AbsolutePosition;
|
||||||
|
detobj.rotQuat = obj.GetWorldRotation();
|
||||||
|
detobj.velVector = obj.Velocity;
|
||||||
|
detobj.colliderType = 0;
|
||||||
|
detobj.groupUUID = obj._groupID;
|
||||||
|
colliding.Add(detobj);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
ScenePresence[] avlist = m_parentGroup.Scene.GetScenePresences();
|
ScenePresence[] avlist = m_parentGroup.Scene.GetScenePresences();
|
||||||
|
@ -1907,6 +1952,34 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
ScenePresence av = avlist[i];
|
ScenePresence av = avlist[i];
|
||||||
|
|
||||||
if (av.LocalId == localId)
|
if (av.LocalId == localId)
|
||||||
|
{
|
||||||
|
if (m_parentGroup.RootPart.CollisionFilter.ContainsValue(obj.UUID.ToString()) || m_parentGroup.RootPart.CollisionFilter.ContainsValue(obj.Name))
|
||||||
|
{
|
||||||
|
bool found = m_parentGroup.RootPart.CollisionFilter.TryGetValue(1,out data);
|
||||||
|
//If it is 1, it is to accept ONLY collisions from this avatar
|
||||||
|
if (found)
|
||||||
|
{
|
||||||
|
DetectedObject detobj = new DetectedObject();
|
||||||
|
detobj.keyUUID = av.UUID;
|
||||||
|
detobj.nameStr = av.ControllingClient.Name;
|
||||||
|
detobj.ownerUUID = av.UUID;
|
||||||
|
detobj.posVector = av.AbsolutePosition;
|
||||||
|
detobj.rotQuat = av.Rotation;
|
||||||
|
detobj.velVector = av.Velocity;
|
||||||
|
detobj.colliderType = 0;
|
||||||
|
detobj.groupUUID = av.ControllingClient.ActiveGroupId;
|
||||||
|
colliding.Add(detobj);
|
||||||
|
}
|
||||||
|
//If it is 0, it is to not accept collisions from this avatar
|
||||||
|
else
|
||||||
|
{
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
bool found = m_parentGroup.RootPart.CollisionFilter.TryGetValue(1,out data);
|
||||||
|
//If it is 1, it is to accept ONLY collisions from this avatar, so this other avatar will not work
|
||||||
|
if (found)
|
||||||
{
|
{
|
||||||
DetectedObject detobj = new DetectedObject();
|
DetectedObject detobj = new DetectedObject();
|
||||||
detobj.keyUUID = av.UUID;
|
detobj.keyUUID = av.UUID;
|
||||||
|
@ -1920,6 +1993,9 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
colliding.Add(detobj);
|
colliding.Add(detobj);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (colliding.Count > 0)
|
if (colliding.Count > 0)
|
||||||
|
@ -1931,7 +2007,10 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
|
|
||||||
if (m_parentGroup.Scene == null)
|
if (m_parentGroup.Scene == null)
|
||||||
return;
|
return;
|
||||||
|
if (m_parentGroup.PassCollision == true)
|
||||||
|
{
|
||||||
|
//TODO: Add pass to root prim!
|
||||||
|
}
|
||||||
m_parentGroup.Scene.EventManager.TriggerScriptCollidingStart(LocalId, StartCollidingMessage);
|
m_parentGroup.Scene.EventManager.TriggerScriptCollidingStart(LocalId, StartCollidingMessage);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1956,7 +2035,14 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
return;
|
return;
|
||||||
|
|
||||||
SceneObjectPart obj = m_parentGroup.Scene.GetSceneObjectPart(localId);
|
SceneObjectPart obj = m_parentGroup.Scene.GetSceneObjectPart(localId);
|
||||||
|
string data = "";
|
||||||
if (obj != null)
|
if (obj != null)
|
||||||
|
{
|
||||||
|
if (m_parentGroup.RootPart.CollisionFilter.ContainsValue(obj.UUID.ToString()) || m_parentGroup.RootPart.CollisionFilter.ContainsValue(obj.Name))
|
||||||
|
{
|
||||||
|
bool found = m_parentGroup.RootPart.CollisionFilter.TryGetValue(1,out data);
|
||||||
|
//If it is 1, it is to accept ONLY collisions from this object
|
||||||
|
if (found)
|
||||||
{
|
{
|
||||||
DetectedObject detobj = new DetectedObject();
|
DetectedObject detobj = new DetectedObject();
|
||||||
detobj.keyUUID = obj.UUID;
|
detobj.keyUUID = obj.UUID;
|
||||||
|
@ -1969,6 +2055,30 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
detobj.groupUUID = obj._groupID;
|
detobj.groupUUID = obj._groupID;
|
||||||
colliding.Add(detobj);
|
colliding.Add(detobj);
|
||||||
}
|
}
|
||||||
|
//If it is 0, it is to not accept collisions from this object
|
||||||
|
else
|
||||||
|
{
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
bool found = m_parentGroup.RootPart.CollisionFilter.TryGetValue(1,out data);
|
||||||
|
//If it is 1, it is to accept ONLY collisions from this object, so this other object will not work
|
||||||
|
if (found)
|
||||||
|
{
|
||||||
|
DetectedObject detobj = new DetectedObject();
|
||||||
|
detobj.keyUUID = obj.UUID;
|
||||||
|
detobj.nameStr = obj.Name;
|
||||||
|
detobj.ownerUUID = obj._ownerID;
|
||||||
|
detobj.posVector = obj.AbsolutePosition;
|
||||||
|
detobj.rotQuat = obj.GetWorldRotation();
|
||||||
|
detobj.velVector = obj.Velocity;
|
||||||
|
detobj.colliderType = 0;
|
||||||
|
detobj.groupUUID = obj._groupID;
|
||||||
|
colliding.Add(detobj);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
ScenePresence[] avlist = m_parentGroup.Scene.GetScenePresences();
|
ScenePresence[] avlist = m_parentGroup.Scene.GetScenePresences();
|
||||||
|
@ -1978,10 +2088,16 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
ScenePresence av = avlist[i];
|
ScenePresence av = avlist[i];
|
||||||
|
|
||||||
if (av.LocalId == localId)
|
if (av.LocalId == localId)
|
||||||
|
{
|
||||||
|
if (m_parentGroup.RootPart.CollisionFilter.ContainsValue(obj.UUID.ToString()) || m_parentGroup.RootPart.CollisionFilter.ContainsValue(obj.Name))
|
||||||
|
{
|
||||||
|
bool found = m_parentGroup.RootPart.CollisionFilter.TryGetValue(1,out data);
|
||||||
|
//If it is 1, it is to accept ONLY collisions from this avatar
|
||||||
|
if (found)
|
||||||
{
|
{
|
||||||
DetectedObject detobj = new DetectedObject();
|
DetectedObject detobj = new DetectedObject();
|
||||||
detobj.keyUUID = av.UUID;
|
detobj.keyUUID = av.UUID;
|
||||||
detobj.nameStr = av.Name;
|
detobj.nameStr = av.ControllingClient.Name;
|
||||||
detobj.ownerUUID = av.UUID;
|
detobj.ownerUUID = av.UUID;
|
||||||
detobj.posVector = av.AbsolutePosition;
|
detobj.posVector = av.AbsolutePosition;
|
||||||
detobj.rotQuat = av.Rotation;
|
detobj.rotQuat = av.Rotation;
|
||||||
|
@ -1990,6 +2106,31 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
detobj.groupUUID = av.ControllingClient.ActiveGroupId;
|
detobj.groupUUID = av.ControllingClient.ActiveGroupId;
|
||||||
colliding.Add(detobj);
|
colliding.Add(detobj);
|
||||||
}
|
}
|
||||||
|
//If it is 0, it is to not accept collisions from this avatar
|
||||||
|
else
|
||||||
|
{
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
bool found = m_parentGroup.RootPart.CollisionFilter.TryGetValue(1,out data);
|
||||||
|
//If it is 1, it is to accept ONLY collisions from this avatar, so this other avatar will not work
|
||||||
|
if (found)
|
||||||
|
{
|
||||||
|
DetectedObject detobj = new DetectedObject();
|
||||||
|
detobj.keyUUID = av.UUID;
|
||||||
|
detobj.nameStr = av.ControllingClient.Name;
|
||||||
|
detobj.ownerUUID = av.UUID;
|
||||||
|
detobj.posVector = av.AbsolutePosition;
|
||||||
|
detobj.rotQuat = av.Rotation;
|
||||||
|
detobj.velVector = av.Velocity;
|
||||||
|
detobj.colliderType = 0;
|
||||||
|
detobj.groupUUID = av.ControllingClient.ActiveGroupId;
|
||||||
|
colliding.Add(detobj);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -2025,7 +2166,14 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
if (m_parentGroup.Scene == null)
|
if (m_parentGroup.Scene == null)
|
||||||
return;
|
return;
|
||||||
SceneObjectPart obj = m_parentGroup.Scene.GetSceneObjectPart(localId);
|
SceneObjectPart obj = m_parentGroup.Scene.GetSceneObjectPart(localId);
|
||||||
|
string data = "";
|
||||||
if (obj != null)
|
if (obj != null)
|
||||||
|
{
|
||||||
|
if (m_parentGroup.RootPart.CollisionFilter.ContainsValue(obj.UUID.ToString()) || m_parentGroup.RootPart.CollisionFilter.ContainsValue(obj.Name))
|
||||||
|
{
|
||||||
|
bool found = m_parentGroup.RootPart.CollisionFilter.TryGetValue(1,out data);
|
||||||
|
//If it is 1, it is to accept ONLY collisions from this object
|
||||||
|
if (found)
|
||||||
{
|
{
|
||||||
DetectedObject detobj = new DetectedObject();
|
DetectedObject detobj = new DetectedObject();
|
||||||
detobj.keyUUID = obj.UUID;
|
detobj.keyUUID = obj.UUID;
|
||||||
|
@ -2038,6 +2186,30 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
detobj.groupUUID = obj._groupID;
|
detobj.groupUUID = obj._groupID;
|
||||||
colliding.Add(detobj);
|
colliding.Add(detobj);
|
||||||
}
|
}
|
||||||
|
//If it is 0, it is to not accept collisions from this object
|
||||||
|
else
|
||||||
|
{
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
bool found = m_parentGroup.RootPart.CollisionFilter.TryGetValue(1,out data);
|
||||||
|
//If it is 1, it is to accept ONLY collisions from this object, so this other object will not work
|
||||||
|
if (found)
|
||||||
|
{
|
||||||
|
DetectedObject detobj = new DetectedObject();
|
||||||
|
detobj.keyUUID = obj.UUID;
|
||||||
|
detobj.nameStr = obj.Name;
|
||||||
|
detobj.ownerUUID = obj._ownerID;
|
||||||
|
detobj.posVector = obj.AbsolutePosition;
|
||||||
|
detobj.rotQuat = obj.GetWorldRotation();
|
||||||
|
detobj.velVector = obj.Velocity;
|
||||||
|
detobj.colliderType = 0;
|
||||||
|
detobj.groupUUID = obj._groupID;
|
||||||
|
colliding.Add(detobj);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
ScenePresence[] avlist = m_parentGroup.Scene.GetScenePresences();
|
ScenePresence[] avlist = m_parentGroup.Scene.GetScenePresences();
|
||||||
|
@ -2047,10 +2219,16 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
ScenePresence av = avlist[i];
|
ScenePresence av = avlist[i];
|
||||||
|
|
||||||
if (av.LocalId == localId)
|
if (av.LocalId == localId)
|
||||||
|
{
|
||||||
|
if (m_parentGroup.RootPart.CollisionFilter.ContainsValue(obj.UUID.ToString()) || m_parentGroup.RootPart.CollisionFilter.ContainsValue(obj.Name))
|
||||||
|
{
|
||||||
|
bool found = m_parentGroup.RootPart.CollisionFilter.TryGetValue(1,out data);
|
||||||
|
//If it is 1, it is to accept ONLY collisions from this avatar
|
||||||
|
if (found)
|
||||||
{
|
{
|
||||||
DetectedObject detobj = new DetectedObject();
|
DetectedObject detobj = new DetectedObject();
|
||||||
detobj.keyUUID = av.UUID;
|
detobj.keyUUID = av.UUID;
|
||||||
detobj.nameStr = av.Name;
|
detobj.nameStr = av.ControllingClient.Name;
|
||||||
detobj.ownerUUID = av.UUID;
|
detobj.ownerUUID = av.UUID;
|
||||||
detobj.posVector = av.AbsolutePosition;
|
detobj.posVector = av.AbsolutePosition;
|
||||||
detobj.rotQuat = av.Rotation;
|
detobj.rotQuat = av.Rotation;
|
||||||
|
@ -2059,6 +2237,31 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
detobj.groupUUID = av.ControllingClient.ActiveGroupId;
|
detobj.groupUUID = av.ControllingClient.ActiveGroupId;
|
||||||
colliding.Add(detobj);
|
colliding.Add(detobj);
|
||||||
}
|
}
|
||||||
|
//If it is 0, it is to not accept collisions from this avatar
|
||||||
|
else
|
||||||
|
{
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
bool found = m_parentGroup.RootPart.CollisionFilter.TryGetValue(1,out data);
|
||||||
|
//If it is 1, it is to accept ONLY collisions from this avatar, so this other avatar will not work
|
||||||
|
if (found)
|
||||||
|
{
|
||||||
|
DetectedObject detobj = new DetectedObject();
|
||||||
|
detobj.keyUUID = av.UUID;
|
||||||
|
detobj.nameStr = av.ControllingClient.Name;
|
||||||
|
detobj.ownerUUID = av.UUID;
|
||||||
|
detobj.posVector = av.AbsolutePosition;
|
||||||
|
detobj.rotQuat = av.Rotation;
|
||||||
|
detobj.velVector = av.Velocity;
|
||||||
|
detobj.colliderType = 0;
|
||||||
|
detobj.groupUUID = av.ControllingClient.ActiveGroupId;
|
||||||
|
colliding.Add(detobj);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -2685,6 +2888,13 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
ScheduleFullUpdate();
|
ScheduleFullUpdate();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void StopLookAt()
|
||||||
|
{
|
||||||
|
m_parentGroup.stopLookAt();
|
||||||
|
|
||||||
|
m_parentGroup.ScheduleGroupForTerseUpdate();
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Set the text displayed for this part.
|
/// Set the text displayed for this part.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
@ -2700,13 +2910,6 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
SetText(text);
|
SetText(text);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void StopLookAt()
|
|
||||||
{
|
|
||||||
m_parentGroup.stopLookAt();
|
|
||||||
|
|
||||||
m_parentGroup.ScheduleGroupForTerseUpdate();
|
|
||||||
}
|
|
||||||
|
|
||||||
public void StopMoveToTarget()
|
public void StopMoveToTarget()
|
||||||
{
|
{
|
||||||
m_parentGroup.stopMoveToTarget();
|
m_parentGroup.stopMoveToTarget();
|
||||||
|
|
|
@ -1985,7 +1985,7 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
if (collisionPoint.ApproxEquals(m_requestedSitOffset + part.AbsolutePosition, 0.2f))
|
if (collisionPoint.ApproxEquals(m_requestedSitOffset + part.AbsolutePosition, 0.2f))
|
||||||
{
|
{
|
||||||
SitRaycastFindEdge(collisionPoint, normal);
|
SitRaycastFindEdge(collisionPoint, normal);
|
||||||
m_log.DebugFormat("[SIT]: Raycast Avatar Position succeeded at point: {0}, normal:{1}", collisionPoint, normal );
|
m_log.DebugFormat("[SIT]: Raycast Avatar Position succeeded at point: {0}, normal:{1}", collisionPoint, normal);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|
|
@ -836,6 +836,25 @@ namespace OpenSim.Region.OptionalModules.Agent.InternetRelayClientView.Server
|
||||||
public event MuteListRequest OnMuteListRequest;
|
public event MuteListRequest OnMuteListRequest;
|
||||||
public event AvatarInterestUpdate OnAvatarInterestUpdate;
|
public event AvatarInterestUpdate OnAvatarInterestUpdate;
|
||||||
public event PlacesQuery OnPlacesQuery;
|
public event PlacesQuery OnPlacesQuery;
|
||||||
|
public event FindAgentUpdate OnFindAgentEvent;
|
||||||
|
public event TrackAgentUpdate OnTrackAgentEvent;
|
||||||
|
public event NewUserReport OnUserReportEvent;
|
||||||
|
public event SaveStateHandler OnSaveStateEvent;
|
||||||
|
public event GroupAccountSummaryRequest OnGroupAccountSummaryRequest;
|
||||||
|
public event GroupAccountDetailsRequest OnGroupAccountDetailsRequest;
|
||||||
|
public event GroupAccountTransactionsRequest OnGroupAccountTransactionsRequest;
|
||||||
|
public event FreezeUserUpdate OnParcelFreezeUserEvent;
|
||||||
|
public event EjectUserUpdate OnParcelEjectUserEvent;
|
||||||
|
public event ParcelBuyPass OnParcelBuyPass;
|
||||||
|
public event ParcelGodMark OnParcelGodMark;
|
||||||
|
public event GroupActiveProposalsRequest OnGroupActiveProposalsRequest;
|
||||||
|
public event GroupVoteHistoryRequest OnGroupVoteHistoryRequest;
|
||||||
|
public event SimWideDeletesDelegate OnSimWideDeletes;
|
||||||
|
public event SendPostcard OnSendPostcard;
|
||||||
|
public event MuteListEntryUpdate OnUpdateMuteListEntryEvent;
|
||||||
|
public event MuteListEntryRemove OnRemoveMuteListEntryEvent;
|
||||||
|
public event GodlikeMessage onGodlikeMessageEvent;
|
||||||
|
public event GodUpdateRegionInfoUpdate OnGodUpdateRegionInfoUpdateEvent;
|
||||||
|
|
||||||
#pragma warning restore 67
|
#pragma warning restore 67
|
||||||
|
|
||||||
|
@ -1628,5 +1647,17 @@ namespace OpenSim.Region.OptionalModules.Agent.InternetRelayClientView.Server
|
||||||
public void SendAvatarInterestsReply(UUID avatarID, uint wantMask, string wantText, uint skillsMask, string skillsText, string languages)
|
public void SendAvatarInterestsReply(UUID avatarID, uint wantMask, string wantText, uint skillsMask, string skillsText, string languages)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void SendGroupAccountingDetails(IClientAPI sender,UUID groupID, UUID transactionID, UUID sessionID, int amt)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
public void SendGroupAccountingSummary(IClientAPI sender,UUID groupID, uint moneyAmt, int totalTier, int usedTier)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
public void SendGroupTransactionsSummaryDetails(IClientAPI sender,UUID groupID, UUID transactionID, UUID sessionID,int amt)
|
||||||
|
{
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -380,6 +380,26 @@ namespace OpenSim.Region.OptionalModules.World.NPC
|
||||||
|
|
||||||
public event PlacesQuery OnPlacesQuery;
|
public event PlacesQuery OnPlacesQuery;
|
||||||
|
|
||||||
|
public event FindAgentUpdate OnFindAgentEvent;
|
||||||
|
public event TrackAgentUpdate OnTrackAgentEvent;
|
||||||
|
public event NewUserReport OnUserReportEvent;
|
||||||
|
public event SaveStateHandler OnSaveStateEvent;
|
||||||
|
public event GroupAccountSummaryRequest OnGroupAccountSummaryRequest;
|
||||||
|
public event GroupAccountDetailsRequest OnGroupAccountDetailsRequest;
|
||||||
|
public event GroupAccountTransactionsRequest OnGroupAccountTransactionsRequest;
|
||||||
|
public event FreezeUserUpdate OnParcelFreezeUserEvent;
|
||||||
|
public event EjectUserUpdate OnParcelEjectUserEvent;
|
||||||
|
public event ParcelBuyPass OnParcelBuyPass;
|
||||||
|
public event ParcelGodMark OnParcelGodMark;
|
||||||
|
public event GroupActiveProposalsRequest OnGroupActiveProposalsRequest;
|
||||||
|
public event GroupVoteHistoryRequest OnGroupVoteHistoryRequest;
|
||||||
|
public event SimWideDeletesDelegate OnSimWideDeletes;
|
||||||
|
public event SendPostcard OnSendPostcard;
|
||||||
|
public event MuteListEntryUpdate OnUpdateMuteListEntryEvent;
|
||||||
|
public event MuteListEntryRemove OnRemoveMuteListEntryEvent;
|
||||||
|
public event GodlikeMessage onGodlikeMessageEvent;
|
||||||
|
public event GodUpdateRegionInfoUpdate OnGodUpdateRegionInfoUpdateEvent;
|
||||||
|
|
||||||
#pragma warning restore 67
|
#pragma warning restore 67
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
@ -1108,5 +1128,17 @@ namespace OpenSim.Region.OptionalModules.World.NPC
|
||||||
public void SendAvatarInterestsReply(UUID avatarID, uint wantMask, string wantText, uint skillsMask, string skillsText, string languages)
|
public void SendAvatarInterestsReply(UUID avatarID, uint wantMask, string wantText, uint skillsMask, string skillsText, string languages)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void SendGroupAccountingDetails(IClientAPI sender,UUID groupID, UUID transactionID, UUID sessionID, int amt)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
public void SendGroupAccountingSummary(IClientAPI sender,UUID groupID, uint moneyAmt, int totalTier, int usedTier)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
public void SendGroupTransactionsSummaryDetails(IClientAPI sender,UUID groupID, UUID transactionID, UUID sessionID,int amt)
|
||||||
|
{
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -129,10 +129,6 @@ namespace OpenSim.Region.Physics.OdePlugin
|
||||||
private float m_verticalAttractionEfficiency = 1.0f; // damped
|
private float m_verticalAttractionEfficiency = 1.0f; // damped
|
||||||
private float m_verticalAttractionTimescale = 500f; // Timescale > 300 means no vert attractor.
|
private float m_verticalAttractionTimescale = 500f; // Timescale > 300 means no vert attractor.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
internal void ProcessFloatVehicleParam(Vehicle pParam, float pValue)
|
internal void ProcessFloatVehicleParam(Vehicle pParam, float pValue)
|
||||||
{
|
{
|
||||||
switch (pParam)
|
switch (pParam)
|
||||||
|
@ -229,7 +225,6 @@ namespace OpenSim.Region.Physics.OdePlugin
|
||||||
break;
|
break;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}//end ProcessFloatVehicleParam
|
}//end ProcessFloatVehicleParam
|
||||||
|
|
||||||
internal void ProcessVectorVehicleParam(Vehicle pParam, Vector3 pValue)
|
internal void ProcessVectorVehicleParam(Vehicle pParam, Vector3 pValue)
|
||||||
|
@ -242,12 +237,12 @@ namespace OpenSim.Region.Physics.OdePlugin
|
||||||
case Vehicle.ANGULAR_MOTOR_DIRECTION:
|
case Vehicle.ANGULAR_MOTOR_DIRECTION:
|
||||||
m_angularMotorDirection = new Vector3(pValue.X, pValue.Y, pValue.Z);
|
m_angularMotorDirection = new Vector3(pValue.X, pValue.Y, pValue.Z);
|
||||||
// Limit requested angular speed to 2 rps= 4 pi rads/sec
|
// Limit requested angular speed to 2 rps= 4 pi rads/sec
|
||||||
if(m_angularMotorDirection.X > 12.56f) m_angularMotorDirection.X = 12.56f;
|
if (m_angularMotorDirection.X > 12.56f) m_angularMotorDirection.X = 12.56f;
|
||||||
if(m_angularMotorDirection.X < - 12.56f) m_angularMotorDirection.X = - 12.56f;
|
if (m_angularMotorDirection.X < - 12.56f) m_angularMotorDirection.X = - 12.56f;
|
||||||
if(m_angularMotorDirection.Y > 12.56f) m_angularMotorDirection.Y = 12.56f;
|
if (m_angularMotorDirection.Y > 12.56f) m_angularMotorDirection.Y = 12.56f;
|
||||||
if(m_angularMotorDirection.Y < - 12.56f) m_angularMotorDirection.Y = - 12.56f;
|
if (m_angularMotorDirection.Y < - 12.56f) m_angularMotorDirection.Y = - 12.56f;
|
||||||
if(m_angularMotorDirection.Z > 12.56f) m_angularMotorDirection.Z = 12.56f;
|
if (m_angularMotorDirection.Z > 12.56f) m_angularMotorDirection.Z = 12.56f;
|
||||||
if(m_angularMotorDirection.Z < - 12.56f) m_angularMotorDirection.Z = - 12.56f;
|
if (m_angularMotorDirection.Z < - 12.56f) m_angularMotorDirection.Z = - 12.56f;
|
||||||
m_angularMotorApply = 10;
|
m_angularMotorApply = 10;
|
||||||
break;
|
break;
|
||||||
case Vehicle.LINEAR_FRICTION_TIMESCALE:
|
case Vehicle.LINEAR_FRICTION_TIMESCALE:
|
||||||
|
@ -261,7 +256,6 @@ namespace OpenSim.Region.Physics.OdePlugin
|
||||||
// m_linearMotorOffset = new Vector3(pValue.X, pValue.Y, pValue.Z);
|
// m_linearMotorOffset = new Vector3(pValue.X, pValue.Y, pValue.Z);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
}//end ProcessVectorVehicleParam
|
}//end ProcessVectorVehicleParam
|
||||||
|
|
||||||
internal void ProcessRotationVehicleParam(Vehicle pParam, Quaternion pValue)
|
internal void ProcessRotationVehicleParam(Vehicle pParam, Quaternion pValue)
|
||||||
|
@ -272,7 +266,6 @@ namespace OpenSim.Region.Physics.OdePlugin
|
||||||
// m_referenceFrame = pValue;
|
// m_referenceFrame = pValue;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
}//end ProcessRotationVehicleParam
|
}//end ProcessRotationVehicleParam
|
||||||
|
|
||||||
internal void ProcessTypeChange(Vehicle pType)
|
internal void ProcessTypeChange(Vehicle pType)
|
||||||
|
@ -444,7 +437,8 @@ namespace OpenSim.Region.Physics.OdePlugin
|
||||||
{
|
{
|
||||||
if (!m_linearMotorDirection.ApproxEquals(Vector3.Zero, 0.01f)) // requested m_linearMotorDirection is significant
|
if (!m_linearMotorDirection.ApproxEquals(Vector3.Zero, 0.01f)) // requested m_linearMotorDirection is significant
|
||||||
{
|
{
|
||||||
if(!d.BodyIsEnabled (Body)) d.BodyEnable (Body);
|
if (!d.BodyIsEnabled(Body))
|
||||||
|
d.BodyEnable(Body);
|
||||||
|
|
||||||
// add drive to body
|
// add drive to body
|
||||||
Vector3 addAmount = m_linearMotorDirection/(m_linearMotorTimescale/pTimestep);
|
Vector3 addAmount = m_linearMotorDirection/(m_linearMotorTimescale/pTimestep);
|
||||||
|
@ -472,7 +466,6 @@ namespace OpenSim.Region.Physics.OdePlugin
|
||||||
m_lastLinearVelocityVector = Vector3.Zero;
|
m_lastLinearVelocityVector = Vector3.Zero;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// convert requested object velocity to world-referenced vector
|
// convert requested object velocity to world-referenced vector
|
||||||
m_dir = m_lastLinearVelocityVector;
|
m_dir = m_lastLinearVelocityVector;
|
||||||
d.Quaternion rot = d.BodyGetQuaternion(Body);
|
d.Quaternion rot = d.BodyGetQuaternion(Body);
|
||||||
|
@ -484,7 +477,7 @@ namespace OpenSim.Region.Physics.OdePlugin
|
||||||
// .Z velocity and gravity. Therefore only 0g will used script-requested
|
// .Z velocity and gravity. Therefore only 0g will used script-requested
|
||||||
// .Z velocity. >0g (m_VehicleBuoyancy < 1) will used modified gravity only.
|
// .Z velocity. >0g (m_VehicleBuoyancy < 1) will used modified gravity only.
|
||||||
Vector3 grav = Vector3.Zero;
|
Vector3 grav = Vector3.Zero;
|
||||||
if(m_VehicleBuoyancy < 1.0f)
|
if (m_VehicleBuoyancy < 1.0f)
|
||||||
{
|
{
|
||||||
// There is some gravity, make a gravity force vector
|
// There is some gravity, make a gravity force vector
|
||||||
// that is applied after object velocity.
|
// that is applied after object velocity.
|
||||||
|
@ -498,27 +491,27 @@ namespace OpenSim.Region.Physics.OdePlugin
|
||||||
} // else its 1.0, no gravity.
|
} // else its 1.0, no gravity.
|
||||||
|
|
||||||
// Check if hovering
|
// Check if hovering
|
||||||
if( (m_flags & (VehicleFlag.HOVER_WATER_ONLY | VehicleFlag.HOVER_TERRAIN_ONLY | VehicleFlag.HOVER_GLOBAL_HEIGHT)) != 0)
|
if ((m_flags & (VehicleFlag.HOVER_WATER_ONLY | VehicleFlag.HOVER_TERRAIN_ONLY | VehicleFlag.HOVER_GLOBAL_HEIGHT)) != 0)
|
||||||
{
|
{
|
||||||
// We should hover, get the target height
|
// We should hover, get the target height
|
||||||
d.Vector3 pos = d.BodyGetPosition(Body);
|
d.Vector3 pos = d.BodyGetPosition(Body);
|
||||||
if((m_flags & VehicleFlag.HOVER_WATER_ONLY) == VehicleFlag.HOVER_WATER_ONLY)
|
if ((m_flags & VehicleFlag.HOVER_WATER_ONLY) == VehicleFlag.HOVER_WATER_ONLY)
|
||||||
{
|
{
|
||||||
m_VhoverTargetHeight = _pParentScene.GetWaterLevel() + m_VhoverHeight;
|
m_VhoverTargetHeight = _pParentScene.GetWaterLevel() + m_VhoverHeight;
|
||||||
}
|
}
|
||||||
else if((m_flags & VehicleFlag.HOVER_TERRAIN_ONLY) == VehicleFlag.HOVER_TERRAIN_ONLY)
|
else if ((m_flags & VehicleFlag.HOVER_TERRAIN_ONLY) == VehicleFlag.HOVER_TERRAIN_ONLY)
|
||||||
{
|
{
|
||||||
m_VhoverTargetHeight = _pParentScene.GetTerrainHeightAtXY(pos.X, pos.Y) + m_VhoverHeight;
|
m_VhoverTargetHeight = _pParentScene.GetTerrainHeightAtXY(pos.X, pos.Y) + m_VhoverHeight;
|
||||||
}
|
}
|
||||||
else if((m_flags & VehicleFlag.HOVER_GLOBAL_HEIGHT) == VehicleFlag.HOVER_GLOBAL_HEIGHT)
|
else if ((m_flags & VehicleFlag.HOVER_GLOBAL_HEIGHT) == VehicleFlag.HOVER_GLOBAL_HEIGHT)
|
||||||
{
|
{
|
||||||
m_VhoverTargetHeight = m_VhoverHeight;
|
m_VhoverTargetHeight = m_VhoverHeight;
|
||||||
}
|
}
|
||||||
|
|
||||||
if((m_flags & VehicleFlag.HOVER_UP_ONLY) == VehicleFlag.HOVER_UP_ONLY)
|
if ((m_flags & VehicleFlag.HOVER_UP_ONLY) == VehicleFlag.HOVER_UP_ONLY)
|
||||||
{
|
{
|
||||||
// If body is aready heigher, use its height as target height
|
// If body is aready heigher, use its height as target height
|
||||||
if(pos.Z > m_VhoverTargetHeight) m_VhoverTargetHeight = pos.Z;
|
if (pos.Z > m_VhoverTargetHeight) m_VhoverTargetHeight = pos.Z;
|
||||||
}
|
}
|
||||||
|
|
||||||
// m_VhoverEfficiency = 0f; // 0=boucy, 1=Crit.damped
|
// m_VhoverEfficiency = 0f; // 0=boucy, 1=Crit.damped
|
||||||
|
@ -526,11 +519,11 @@ namespace OpenSim.Region.Physics.OdePlugin
|
||||||
// pTimestep is time since last frame,in secs
|
// pTimestep is time since last frame,in secs
|
||||||
float herr0 = pos.Z - m_VhoverTargetHeight;
|
float herr0 = pos.Z - m_VhoverTargetHeight;
|
||||||
// Replace Vertical speed with correction figure if significant
|
// Replace Vertical speed with correction figure if significant
|
||||||
if(Math.Abs(herr0) > 0.01f )
|
if (Math.Abs(herr0) > 0.01f)
|
||||||
{
|
{
|
||||||
d.Mass objMass;
|
d.Mass objMass;
|
||||||
d.BodyGetMass(Body, out objMass);
|
d.BodyGetMass(Body, out objMass);
|
||||||
m_dir.Z = - ( (herr0 * pTimestep * 50.0f) / m_VhoverTimescale);
|
m_dir.Z = - ((herr0 * pTimestep * 50.0f) / m_VhoverTimescale);
|
||||||
//KF: m_VhoverEfficiency is not yet implemented
|
//KF: m_VhoverEfficiency is not yet implemented
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@ -569,7 +562,7 @@ namespace OpenSim.Region.Physics.OdePlugin
|
||||||
if (m_angularMotorApply > 0)
|
if (m_angularMotorApply > 0)
|
||||||
{
|
{
|
||||||
// ramp up to new value
|
// ramp up to new value
|
||||||
// current velocity += error / ( time to get there / step interval )
|
// current velocity += error / (time to get there / step interval)
|
||||||
// requested speed - last motor speed
|
// requested speed - last motor speed
|
||||||
m_angularMotorVelocity.X += (m_angularMotorDirection.X - m_angularMotorVelocity.X) / (m_angularMotorTimescale / pTimestep);
|
m_angularMotorVelocity.X += (m_angularMotorDirection.X - m_angularMotorVelocity.X) / (m_angularMotorTimescale / pTimestep);
|
||||||
m_angularMotorVelocity.Y += (m_angularMotorDirection.Y - m_angularMotorVelocity.Y) / (m_angularMotorTimescale / pTimestep);
|
m_angularMotorVelocity.Y += (m_angularMotorDirection.Y - m_angularMotorVelocity.Y) / (m_angularMotorTimescale / pTimestep);
|
||||||
|
@ -589,11 +582,10 @@ namespace OpenSim.Region.Physics.OdePlugin
|
||||||
m_angularMotorVelocity -= m_angularMotorVelocity / (m_angularMotorDecayTimescale / pTimestep);
|
m_angularMotorVelocity -= m_angularMotorVelocity / (m_angularMotorDecayTimescale / pTimestep);
|
||||||
} // end motor section
|
} // end motor section
|
||||||
|
|
||||||
|
|
||||||
// Vertical attractor section
|
// Vertical attractor section
|
||||||
Vector3 vertattr = Vector3.Zero;
|
Vector3 vertattr = Vector3.Zero;
|
||||||
|
|
||||||
if(m_verticalAttractionTimescale < 300)
|
if (m_verticalAttractionTimescale < 300)
|
||||||
{
|
{
|
||||||
float VAservo = 0.2f / (m_verticalAttractionTimescale * pTimestep);
|
float VAservo = 0.2f / (m_verticalAttractionTimescale * pTimestep);
|
||||||
// get present body rotation
|
// get present body rotation
|
||||||
|
@ -615,7 +607,7 @@ namespace OpenSim.Region.Physics.OdePlugin
|
||||||
// Error is 0 (no error) to +/- 2 (max error)
|
// Error is 0 (no error) to +/- 2 (max error)
|
||||||
// scale it by VAservo
|
// scale it by VAservo
|
||||||
verterr = verterr * VAservo;
|
verterr = verterr * VAservo;
|
||||||
//if(frcount == 0) Console.WriteLine("VAerr=" + verterr);
|
//if (frcount == 0) Console.WriteLine("VAerr=" + verterr);
|
||||||
|
|
||||||
// As the body rotates around the X axis, then verterr.Y increases; Rotated around Y then .X increases, so
|
// As the body rotates around the X axis, then verterr.Y increases; Rotated around Y then .X increases, so
|
||||||
// Change Body angular velocity X based on Y, and Y based on X. Z is not changed.
|
// Change Body angular velocity X based on Y, and Y based on X. Z is not changed.
|
||||||
|
@ -640,7 +632,7 @@ namespace OpenSim.Region.Physics.OdePlugin
|
||||||
|
|
||||||
if (!m_lastAngularVelocity.ApproxEquals(Vector3.Zero, 0.01f))
|
if (!m_lastAngularVelocity.ApproxEquals(Vector3.Zero, 0.01f))
|
||||||
{
|
{
|
||||||
if(!d.BodyIsEnabled (Body)) d.BodyEnable (Body);
|
if (!d.BodyIsEnabled (Body)) d.BodyEnable (Body);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|
|
@ -1,5 +1,7 @@
|
||||||
/* Copyright (c) Contributors, http://opensimulator.org/
|
/*
|
||||||
|
* Copyright (c) Contributors, http://opensimulator.org/
|
||||||
* See CONTRIBUTORS.TXT for a full list of copyright holders.
|
* See CONTRIBUTORS.TXT for a full list of copyright holders.
|
||||||
|
*
|
||||||
* Redistribution and use in source and binary forms, with or without
|
* Redistribution and use in source and binary forms, with or without
|
||||||
* modification, are permitted provided that the following conditions are met:
|
* modification, are permitted provided that the following conditions are met:
|
||||||
* * Redistributions of source code must retain the above copyright
|
* * Redistributions of source code must retain the above copyright
|
||||||
|
@ -294,7 +296,7 @@ namespace OpenSim.Region.Physics.OdePlugin
|
||||||
m_taintselected = value;
|
m_taintselected = value;
|
||||||
m_isSelected = value;
|
m_isSelected = value;
|
||||||
}
|
}
|
||||||
if(m_isSelected) disableBodySoft();
|
if (m_isSelected) disableBodySoft();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -872,7 +874,7 @@ namespace OpenSim.Region.Physics.OdePlugin
|
||||||
|
|
||||||
public void ProcessTaints(float timestep)
|
public void ProcessTaints(float timestep)
|
||||||
{
|
{
|
||||||
//Console.WriteLine("ProcessTaints for " + m_primName );
|
//Console.WriteLine("ProcessTaints for " + m_primName);
|
||||||
if (m_taintadd)
|
if (m_taintadd)
|
||||||
{
|
{
|
||||||
changeadd(timestep);
|
changeadd(timestep);
|
||||||
|
@ -885,7 +887,7 @@ namespace OpenSim.Region.Physics.OdePlugin
|
||||||
|
|
||||||
if (m_taintrot != _orientation)
|
if (m_taintrot != _orientation)
|
||||||
{
|
{
|
||||||
if(childPrim && IsPhysical) // For physical child prim...
|
if (childPrim && IsPhysical) // For physical child prim...
|
||||||
{
|
{
|
||||||
rotate(timestep);
|
rotate(timestep);
|
||||||
// KF: ODE will also rotate the parent prim!
|
// KF: ODE will also rotate the parent prim!
|
||||||
|
@ -1572,7 +1574,7 @@ Console.WriteLine(" JointCreateFixed");
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
//Console.WriteLine("Move " + m_primName);
|
//Console.WriteLine("Move " + m_primName);
|
||||||
if(!d.BodyIsEnabled (Body)) d.BodyEnable (Body); // KF add 161009
|
if (!d.BodyIsEnabled (Body)) d.BodyEnable (Body); // KF add 161009
|
||||||
// NON-'VEHICLES' are dealt with here
|
// NON-'VEHICLES' are dealt with here
|
||||||
if (d.BodyIsEnabled(Body) && !m_angularlock.ApproxEquals(Vector3.Zero, 0.003f))
|
if (d.BodyIsEnabled(Body) && !m_angularlock.ApproxEquals(Vector3.Zero, 0.003f))
|
||||||
{
|
{
|
||||||
|
@ -1890,7 +1892,7 @@ Console.WriteLine(" JointCreateFixed");
|
||||||
m_log.Error("[PHYSICS]: PrimGeom dead");
|
m_log.Error("[PHYSICS]: PrimGeom dead");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//Console.WriteLine("changePhysicsStatus for " + m_primName );
|
//Console.WriteLine("changePhysicsStatus for " + m_primName);
|
||||||
changeadd(2f);
|
changeadd(2f);
|
||||||
}
|
}
|
||||||
if (childPrim)
|
if (childPrim)
|
||||||
|
|
|
@ -2812,7 +2812,15 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
|
||||||
public void llCollisionFilter(string name, string id, int accept)
|
public void llCollisionFilter(string name, string id, int accept)
|
||||||
{
|
{
|
||||||
m_host.AddScriptLPS(1);
|
m_host.AddScriptLPS(1);
|
||||||
NotImplemented("llCollisionFilter");
|
m_host.CollisionFilter.Clear();
|
||||||
|
if (id != null)
|
||||||
|
{
|
||||||
|
m_host.CollisionFilter.Add(accept,id);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
m_host.CollisionFilter.Add(accept,name);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void llTakeControls(int controls, int accept, int pass_on)
|
public void llTakeControls(int controls, int accept, int pass_on)
|
||||||
|
@ -3910,6 +3918,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
|
||||||
Util.Clip((float)color.z, 0.0f, 1.0f));
|
Util.Clip((float)color.z, 0.0f, 1.0f));
|
||||||
m_host.SetText(text, av3, Util.Clip((float)alpha, 0.0f, 1.0f));
|
m_host.SetText(text, av3, Util.Clip((float)alpha, 0.0f, 1.0f));
|
||||||
m_host.ParentGroup.HasGroupChanged = true;
|
m_host.ParentGroup.HasGroupChanged = true;
|
||||||
|
m_host.ParentGroup.ScheduleGroupForFullUpdate();
|
||||||
}
|
}
|
||||||
|
|
||||||
public LSL_Float llWater(LSL_Vector offset)
|
public LSL_Float llWater(LSL_Vector offset)
|
||||||
|
@ -4333,7 +4342,14 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
|
||||||
public void llPassCollisions(int pass)
|
public void llPassCollisions(int pass)
|
||||||
{
|
{
|
||||||
m_host.AddScriptLPS(1);
|
m_host.AddScriptLPS(1);
|
||||||
NotImplemented("llPassCollisions");
|
if (pass == 0)
|
||||||
|
{
|
||||||
|
m_host.ParentGroup.PassCollision = false;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
m_host.ParentGroup.PassCollision = true;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public LSL_String llGetScriptName()
|
public LSL_String llGetScriptName()
|
||||||
|
@ -7541,7 +7557,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
|
||||||
// makes it more difficult to determine a child prim's actual inworld position).
|
// makes it more difficult to determine a child prim's actual inworld position).
|
||||||
if (part.ParentID != 0)
|
if (part.ParentID != 0)
|
||||||
v = ((v - llGetRootPosition()) * llGetRootRotation()) + llGetRootPosition();
|
v = ((v - llGetRootPosition()) * llGetRootRotation()) + llGetRootPosition();
|
||||||
res.Add( v );
|
res.Add(v);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case (int)ScriptBaseClass.PRIM_SIZE:
|
case (int)ScriptBaseClass.PRIM_SIZE:
|
||||||
|
|
|
@ -1969,7 +1969,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
|
||||||
|
|
||||||
for (int i = 0; i < 21; i++)
|
for (int i = 0; i < 21; i++)
|
||||||
{
|
{
|
||||||
ret.Add(new LSL_Float( stats[i] ));
|
ret.Add(new LSL_Float(stats[i]));
|
||||||
}
|
}
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
|
@ -649,7 +649,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.ScriptBase
|
||||||
}
|
}
|
||||||
public void osKickAvatar(string FirstName,string SurName,string alert)
|
public void osKickAvatar(string FirstName,string SurName,string alert)
|
||||||
{
|
{
|
||||||
m_OSSL_Functions.osKickAvatar( FirstName, SurName, alert);
|
m_OSSL_Functions.osKickAvatar(FirstName, SurName, alert);
|
||||||
}
|
}
|
||||||
public void osSetSpeed(string UUID, float SpeedModifier)
|
public void osSetSpeed(string UUID, float SpeedModifier)
|
||||||
{
|
{
|
||||||
|
|
|
@ -128,6 +128,10 @@ namespace OpenSim.Region.ScriptEngine.Shared.ScriptBase
|
||||||
m_InitialValues = GetVars();
|
m_InitialValues = GetVars();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public virtual void StateChange(string newState)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
public void Close()
|
public void Close()
|
||||||
{
|
{
|
||||||
// m_sponser.Close();
|
// m_sponser.Close();
|
||||||
|
|
|
@ -659,7 +659,7 @@ namespace OpenSim.Region.ScriptEngine.XEngine
|
||||||
|
|
||||||
Dictionary<KeyValuePair<int, int>, KeyValuePair<int, int>> linemap;
|
Dictionary<KeyValuePair<int, int>, KeyValuePair<int, int>> linemap;
|
||||||
|
|
||||||
lock(m_ScriptErrors)
|
lock (m_ScriptErrors)
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
|
|
|
@ -25,6 +25,7 @@
|
||||||
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Reflection;
|
using System.Reflection;
|
||||||
using log4net;
|
using log4net;
|
||||||
|
@ -102,7 +103,17 @@ namespace OpenSim.Services.InventoryService
|
||||||
// See IInventoryServices
|
// See IInventoryServices
|
||||||
public bool CreateUserInventory(UUID user)
|
public bool CreateUserInventory(UUID user)
|
||||||
{
|
{
|
||||||
InventoryFolderBase existingRootFolder = GetRootFolder(user);
|
InventoryFolderBase existingRootFolder;
|
||||||
|
try
|
||||||
|
{
|
||||||
|
existingRootFolder = GetRootFolder(user);
|
||||||
|
}
|
||||||
|
catch (Exception e)
|
||||||
|
{
|
||||||
|
// Munch the exception, it has already been reported
|
||||||
|
//
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
if (null != existingRootFolder)
|
if (null != existingRootFolder)
|
||||||
{
|
{
|
||||||
|
|
|
@ -288,6 +288,26 @@ namespace OpenSim.Tests.Common.Mock
|
||||||
|
|
||||||
public event PlacesQuery OnPlacesQuery;
|
public event PlacesQuery OnPlacesQuery;
|
||||||
|
|
||||||
|
public event FindAgentUpdate OnFindAgentEvent;
|
||||||
|
public event TrackAgentUpdate OnTrackAgentEvent;
|
||||||
|
public event NewUserReport OnUserReportEvent;
|
||||||
|
public event SaveStateHandler OnSaveStateEvent;
|
||||||
|
public event GroupAccountSummaryRequest OnGroupAccountSummaryRequest;
|
||||||
|
public event GroupAccountDetailsRequest OnGroupAccountDetailsRequest;
|
||||||
|
public event GroupAccountTransactionsRequest OnGroupAccountTransactionsRequest;
|
||||||
|
public event FreezeUserUpdate OnParcelFreezeUserEvent;
|
||||||
|
public event EjectUserUpdate OnParcelEjectUserEvent;
|
||||||
|
public event ParcelBuyPass OnParcelBuyPass;
|
||||||
|
public event ParcelGodMark OnParcelGodMark;
|
||||||
|
public event GroupActiveProposalsRequest OnGroupActiveProposalsRequest;
|
||||||
|
public event GroupVoteHistoryRequest OnGroupVoteHistoryRequest;
|
||||||
|
public event SimWideDeletesDelegate OnSimWideDeletes;
|
||||||
|
public event SendPostcard OnSendPostcard;
|
||||||
|
public event MuteListEntryUpdate OnUpdateMuteListEntryEvent;
|
||||||
|
public event MuteListEntryRemove OnRemoveMuteListEntryEvent;
|
||||||
|
public event GodlikeMessage onGodlikeMessageEvent;
|
||||||
|
public event GodUpdateRegionInfoUpdate OnGodUpdateRegionInfoUpdateEvent;
|
||||||
|
|
||||||
#pragma warning restore 67
|
#pragma warning restore 67
|
||||||
|
|
||||||
/// <value>
|
/// <value>
|
||||||
|
@ -1163,5 +1183,17 @@ namespace OpenSim.Tests.Common.Mock
|
||||||
public void SendAvatarInterestsReply(UUID avatarID, uint wantMask, string wantText, uint skillsMask, string skillsText, string languages)
|
public void SendAvatarInterestsReply(UUID avatarID, uint wantMask, string wantText, uint skillsMask, string skillsText, string languages)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void SendGroupAccountingDetails(IClientAPI sender,UUID groupID, UUID transactionID, UUID sessionID, int amt)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
public void SendGroupAccountingSummary(IClientAPI sender,UUID groupID, uint moneyAmt, int totalTier, int usedTier)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
public void SendGroupTransactionsSummaryDetails(IClientAPI sender,UUID groupID, UUID transactionID, UUID sessionID,int amt)
|
||||||
|
{
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue