aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/OptionalModules
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region/OptionalModules')
-rw-r--r--OpenSim/Region/OptionalModules/Agent/InternetRelayClientView/Server/IRCClientView.cs18
-rw-r--r--OpenSim/Region/OptionalModules/Avatar/Voice/FreeSwitchVoice/FreeSwitchVoiceModule.cs4
-rw-r--r--OpenSim/Region/OptionalModules/Avatar/Voice/VivoxVoice/VivoxVoiceModule.cs31
-rw-r--r--OpenSim/Region/OptionalModules/Avatar/XmlRpcGroups/GroupsModule.cs2
-rw-r--r--OpenSim/Region/OptionalModules/PrimLimitsModule/PrimLimitsModule.cs8
-rw-r--r--OpenSim/Region/OptionalModules/Scripting/XmlRpcRouterModule/XmlRpcRouterModule.cs16
-rw-r--r--OpenSim/Region/OptionalModules/World/MoneyModule/SampleMoneyModule.cs4
-rw-r--r--OpenSim/Region/OptionalModules/World/NPC/NPCAvatar.cs24
-rw-r--r--OpenSim/Region/OptionalModules/World/NPC/NPCModule.cs47
9 files changed, 106 insertions, 48 deletions
diff --git a/OpenSim/Region/OptionalModules/Agent/InternetRelayClientView/Server/IRCClientView.cs b/OpenSim/Region/OptionalModules/Agent/InternetRelayClientView/Server/IRCClientView.cs
index bae25cd..3b83e58 100644
--- a/OpenSim/Region/OptionalModules/Agent/InternetRelayClientView/Server/IRCClientView.cs
+++ b/OpenSim/Region/OptionalModules/Agent/InternetRelayClientView/Server/IRCClientView.cs
@@ -670,6 +670,7 @@ namespace OpenSim.Region.OptionalModules.Agent.InternetRelayClientView.Server
670 public event ObjectDrop OnObjectDrop; 670 public event ObjectDrop OnObjectDrop;
671 public event StartAnim OnStartAnim; 671 public event StartAnim OnStartAnim;
672 public event StopAnim OnStopAnim; 672 public event StopAnim OnStopAnim;
673 public event ChangeAnim OnChangeAnim;
673 public event LinkObjects OnLinkObjects; 674 public event LinkObjects OnLinkObjects;
674 public event DelinkObjects OnDelinkObjects; 675 public event DelinkObjects OnDelinkObjects;
675 public event RequestMapBlocks OnRequestMapBlocks; 676 public event RequestMapBlocks OnRequestMapBlocks;
@@ -715,6 +716,7 @@ namespace OpenSim.Region.OptionalModules.Agent.InternetRelayClientView.Server
715 public event RequestObjectPropertiesFamily OnRequestObjectPropertiesFamily; 716 public event RequestObjectPropertiesFamily OnRequestObjectPropertiesFamily;
716 public event UpdatePrimFlags OnUpdatePrimFlags; 717 public event UpdatePrimFlags OnUpdatePrimFlags;
717 public event UpdatePrimTexture OnUpdatePrimTexture; 718 public event UpdatePrimTexture OnUpdatePrimTexture;
719 public event ClientChangeObject onClientChangeObject;
718 public event UpdateVector OnUpdatePrimGroupPosition; 720 public event UpdateVector OnUpdatePrimGroupPosition;
719 public event UpdateVector OnUpdatePrimSinglePosition; 721 public event UpdateVector OnUpdatePrimSinglePosition;
720 public event UpdatePrimRotation OnUpdatePrimGroupRotation; 722 public event UpdatePrimRotation OnUpdatePrimGroupRotation;
@@ -819,6 +821,7 @@ namespace OpenSim.Region.OptionalModules.Agent.InternetRelayClientView.Server
819 public event ObjectOwner OnObjectOwner; 821 public event ObjectOwner OnObjectOwner;
820 public event DirPlacesQuery OnDirPlacesQuery; 822 public event DirPlacesQuery OnDirPlacesQuery;
821 public event DirFindQuery OnDirFindQuery; 823 public event DirFindQuery OnDirFindQuery;
824 public event MoveItemsAndLeaveCopy OnMoveItemsAndLeaveCopy;
822 public event DirLandQuery OnDirLandQuery; 825 public event DirLandQuery OnDirLandQuery;
823 public event DirPopularQuery OnDirPopularQuery; 826 public event DirPopularQuery OnDirPopularQuery;
824 public event DirClassifiedQuery OnDirClassifiedQuery; 827 public event DirClassifiedQuery OnDirClassifiedQuery;
@@ -835,7 +838,7 @@ namespace OpenSim.Region.OptionalModules.Agent.InternetRelayClientView.Server
835 public event ClassifiedInfoRequest OnClassifiedInfoRequest; 838 public event ClassifiedInfoRequest OnClassifiedInfoRequest;
836 public event ClassifiedInfoUpdate OnClassifiedInfoUpdate; 839 public event ClassifiedInfoUpdate OnClassifiedInfoUpdate;
837 public event ClassifiedDelete OnClassifiedDelete; 840 public event ClassifiedDelete OnClassifiedDelete;
838 public event ClassifiedDelete OnClassifiedGodDelete; 841 public event ClassifiedGodDelete OnClassifiedGodDelete;
839 public event EventNotificationAddRequest OnEventNotificationAddRequest; 842 public event EventNotificationAddRequest OnEventNotificationAddRequest;
840 public event EventNotificationRemoveRequest OnEventNotificationRemoveRequest; 843 public event EventNotificationRemoveRequest OnEventNotificationRemoveRequest;
841 public event EventGodDelete OnEventGodDelete; 844 public event EventGodDelete OnEventGodDelete;
@@ -865,6 +868,7 @@ namespace OpenSim.Region.OptionalModules.Agent.InternetRelayClientView.Server
865 public event GroupVoteHistoryRequest OnGroupVoteHistoryRequest; 868 public event GroupVoteHistoryRequest OnGroupVoteHistoryRequest;
866 public event SimWideDeletesDelegate OnSimWideDeletes; 869 public event SimWideDeletesDelegate OnSimWideDeletes;
867 public event SendPostcard OnSendPostcard; 870 public event SendPostcard OnSendPostcard;
871 public event ChangeInventoryItemFlags OnChangeInventoryItemFlags;
868 public event MuteListEntryUpdate OnUpdateMuteListEntry; 872 public event MuteListEntryUpdate OnUpdateMuteListEntry;
869 public event MuteListEntryRemove OnRemoveMuteListEntry; 873 public event MuteListEntryRemove OnRemoveMuteListEntry;
870 public event GodlikeMessage onGodlikeMessage; 874 public event GodlikeMessage onGodlikeMessage;
@@ -886,6 +890,11 @@ namespace OpenSim.Region.OptionalModules.Agent.InternetRelayClientView.Server
886 890
887 public void Close() 891 public void Close()
888 { 892 {
893 Close(true);
894 }
895
896 public void Close(bool sendStop)
897 {
889 Disconnect(); 898 Disconnect();
890 } 899 }
891 900
@@ -1114,7 +1123,7 @@ namespace OpenSim.Region.OptionalModules.Agent.InternetRelayClientView.Server
1114 1123
1115 } 1124 }
1116 1125
1117 public void SendXferPacket(ulong xferID, uint packet, byte[] data) 1126 public void SendXferPacket(ulong xferID, uint packet, byte[] data, bool isTaskInventory)
1118 { 1127 {
1119 1128
1120 } 1129 }
@@ -1672,5 +1681,10 @@ namespace OpenSim.Region.OptionalModules.Agent.InternetRelayClientView.Server
1672 public void SendPlacesReply(UUID queryID, UUID transactionID, PlacesReplyData[] data) 1681 public void SendPlacesReply(UUID queryID, UUID transactionID, PlacesReplyData[] data)
1673 { 1682 {
1674 } 1683 }
1684
1685 public void SendPartPhysicsProprieties(ISceneEntity entity)
1686 {
1687 }
1688
1675 } 1689 }
1676} 1690}
diff --git a/OpenSim/Region/OptionalModules/Avatar/Voice/FreeSwitchVoice/FreeSwitchVoiceModule.cs b/OpenSim/Region/OptionalModules/Avatar/Voice/FreeSwitchVoice/FreeSwitchVoiceModule.cs
index 7fafdc6..7b20446 100644
--- a/OpenSim/Region/OptionalModules/Avatar/Voice/FreeSwitchVoice/FreeSwitchVoiceModule.cs
+++ b/OpenSim/Region/OptionalModules/Avatar/Voice/FreeSwitchVoice/FreeSwitchVoiceModule.cs
@@ -568,7 +568,7 @@ namespace OpenSim.Region.OptionalModules.Avatar.Voice.FreeSwitchVoice
568 568
569 public Hashtable FreeSwitchSLVoiceGetPreloginHTTPHandler(Hashtable request) 569 public Hashtable FreeSwitchSLVoiceGetPreloginHTTPHandler(Hashtable request)
570 { 570 {
571 m_log.Debug("[FreeSwitchVoice]: FreeSwitchSLVoiceGetPreloginHTTPHandler called"); 571// m_log.Debug("[FreeSwitchVoice] FreeSwitchSLVoiceGetPreloginHTTPHandler called");
572 572
573 Hashtable response = new Hashtable(); 573 Hashtable response = new Hashtable();
574 response["content_type"] = "text/xml"; 574 response["content_type"] = "text/xml";
@@ -719,7 +719,7 @@ namespace OpenSim.Region.OptionalModules.Avatar.Voice.FreeSwitchVoice
719 719
720 public Hashtable FreeSwitchSLVoiceSigninHTTPHandler(Hashtable request) 720 public Hashtable FreeSwitchSLVoiceSigninHTTPHandler(Hashtable request)
721 { 721 {
722 m_log.Debug("[FreeSwitchVoice]: FreeSwitchSLVoiceSigninHTTPHandler called"); 722 //m_log.Debug("[FreeSwitchVoice] FreeSwitchSLVoiceSigninHTTPHandler called");
723// string requestbody = (string)request["body"]; 723// string requestbody = (string)request["body"];
724// string uri = (string)request["uri"]; 724// string uri = (string)request["uri"];
725// string contenttype = (string)request["content-type"]; 725// string contenttype = (string)request["content-type"];
diff --git a/OpenSim/Region/OptionalModules/Avatar/Voice/VivoxVoice/VivoxVoiceModule.cs b/OpenSim/Region/OptionalModules/Avatar/Voice/VivoxVoice/VivoxVoiceModule.cs
index a36fd74..396d4c5 100644
--- a/OpenSim/Region/OptionalModules/Avatar/Voice/VivoxVoice/VivoxVoiceModule.cs
+++ b/OpenSim/Region/OptionalModules/Avatar/Voice/VivoxVoice/VivoxVoiceModule.cs
@@ -190,7 +190,7 @@ namespace OpenSim.Region.OptionalModules.Avatar.Voice.VivoxVoice
190 break; 190 break;
191 } 191 }
192 192
193 m_vivoxVoiceAccountApi = String.Format("http://{0}/api2", m_vivoxServer); 193 m_vivoxVoiceAccountApi = String.Format("https://{0}/api2", m_vivoxServer);
194 194
195 // Admin interface required values 195 // Admin interface required values
196 if (String.IsNullOrEmpty(m_vivoxServer) || 196 if (String.IsNullOrEmpty(m_vivoxServer) ||
@@ -738,7 +738,8 @@ namespace OpenSim.Region.OptionalModules.Avatar.Voice.VivoxVoice
738 return channelUri; 738 return channelUri;
739 } 739 }
740 740
741 private static readonly string m_vivoxLoginPath = "http://{0}/api2/viv_signin.php?userid={1}&pwd={2}"; 741
742 private static readonly string m_vivoxLoginPath = "https://{0}/api2/viv_signin.php?userid={1}&pwd={2}";
742 743
743 /// <summary> 744 /// <summary>
744 /// Perform administrative login for Vivox. 745 /// Perform administrative login for Vivox.
@@ -750,7 +751,7 @@ namespace OpenSim.Region.OptionalModules.Avatar.Voice.VivoxVoice
750 return VivoxCall(requrl, false); 751 return VivoxCall(requrl, false);
751 } 752 }
752 753
753 private static readonly string m_vivoxLogoutPath = "http://{0}/api2/viv_signout.php?auth_token={1}"; 754 private static readonly string m_vivoxLogoutPath = "https://{0}/api2/viv_signout.php?auth_token={1}";
754 755
755 /// <summary> 756 /// <summary>
756 /// Perform administrative logout for Vivox. 757 /// Perform administrative logout for Vivox.
@@ -761,7 +762,8 @@ namespace OpenSim.Region.OptionalModules.Avatar.Voice.VivoxVoice
761 return VivoxCall(requrl, false); 762 return VivoxCall(requrl, false);
762 } 763 }
763 764
764 private static readonly string m_vivoxGetAccountPath = "http://{0}/api2/viv_get_acct.php?auth_token={1}&user_name={2}"; 765
766 private static readonly string m_vivoxGetAccountPath = "https://{0}/api2/viv_get_acct.php?auth_token={1}&user_name={2}";
765 767
766 /// <summary> 768 /// <summary>
767 /// Retrieve account information for the specified user. 769 /// Retrieve account information for the specified user.
@@ -773,7 +775,8 @@ namespace OpenSim.Region.OptionalModules.Avatar.Voice.VivoxVoice
773 return VivoxCall(requrl, true); 775 return VivoxCall(requrl, true);
774 } 776 }
775 777
776 private static readonly string m_vivoxNewAccountPath = "http://{0}/api2/viv_adm_acct_new.php?username={1}&pwd={2}&auth_token={3}"; 778
779 private static readonly string m_vivoxNewAccountPath = "https://{0}/api2/viv_adm_acct_new.php?username={1}&pwd={2}&auth_token={3}";
777 780
778 /// <summary> 781 /// <summary>
779 /// Creates a new account. 782 /// Creates a new account.
@@ -787,7 +790,8 @@ namespace OpenSim.Region.OptionalModules.Avatar.Voice.VivoxVoice
787 return VivoxCall(requrl, true); 790 return VivoxCall(requrl, true);
788 } 791 }
789 792
790 private static readonly string m_vivoxPasswordPath = "http://{0}/api2/viv_adm_password.php?user_name={1}&new_pwd={2}&auth_token={3}"; 793
794 private static readonly string m_vivoxPasswordPath = "https://{0}/api2/viv_adm_password.php?user_name={1}&new_pwd={2}&auth_token={3}";
791 795
792 /// <summary> 796 /// <summary>
793 /// Change the user's password. 797 /// Change the user's password.
@@ -798,7 +802,8 @@ namespace OpenSim.Region.OptionalModules.Avatar.Voice.VivoxVoice
798 return VivoxCall(requrl, true); 802 return VivoxCall(requrl, true);
799 } 803 }
800 804
801 private static readonly string m_vivoxChannelPath = "http://{0}/api2/viv_chan_mod.php?mode={1}&chan_name={2}&auth_token={3}"; 805
806 private static readonly string m_vivoxChannelPath = "https://{0}/api2/viv_chan_mod.php?mode={1}&chan_name={2}&auth_token={3}";
802 807
803 /// <summary> 808 /// <summary>
804 /// Create a channel. 809 /// Create a channel.
@@ -870,7 +875,7 @@ namespace OpenSim.Region.OptionalModules.Avatar.Voice.VivoxVoice
870 return false; 875 return false;
871 } 876 }
872 877
873 private static readonly string m_vivoxChannelSearchPath = "http://{0}/api2/viv_chan_search.php?cond_channame={1}&auth_token={2}"; 878 private static readonly string m_vivoxChannelSearchPath = "https://{0}/api2/viv_chan_search.php?cond_channame={1}&auth_token={2}";
874 879
875 /// <summary> 880 /// <summary>
876 /// Retrieve a channel. 881 /// Retrieve a channel.
@@ -1013,7 +1018,7 @@ namespace OpenSim.Region.OptionalModules.Avatar.Voice.VivoxVoice
1013 return false; 1018 return false;
1014 } 1019 }
1015 1020
1016 // private static readonly string m_vivoxChannelById = "http://{0}/api2/viv_chan_mod.php?mode={1}&chan_id={2}&auth_token={3}"; 1021 // private static readonly string m_vivoxChannelById = "https://{0}/api2/viv_chan_mod.php?mode={1}&chan_id={2}&auth_token={3}";
1017 1022
1018 // private XmlElement VivoxGetChannelById(string parent, string channelid) 1023 // private XmlElement VivoxGetChannelById(string parent, string channelid)
1019 // { 1024 // {
@@ -1025,7 +1030,7 @@ namespace OpenSim.Region.OptionalModules.Avatar.Voice.VivoxVoice
1025 // return VivoxCall(requrl, true); 1030 // return VivoxCall(requrl, true);
1026 // } 1031 // }
1027 1032
1028 private static readonly string m_vivoxChannelDel = "http://{0}/api2/viv_chan_mod.php?mode={1}&chan_id={2}&auth_token={3}"; 1033 private static readonly string m_vivoxChannelDel = "https://{0}/api2/viv_chan_mod.php?mode={1}&chan_id={2}&auth_token={3}";
1029 1034
1030 /// <summary> 1035 /// <summary>
1031 /// Delete a channel. 1036 /// Delete a channel.
@@ -1038,6 +1043,7 @@ namespace OpenSim.Region.OptionalModules.Avatar.Voice.VivoxVoice
1038 /// are required in a later phase. 1043 /// are required in a later phase.
1039 /// In this case the call handles parent and description as optional values. 1044 /// In this case the call handles parent and description as optional values.
1040 /// </summary> 1045 /// </summary>
1046
1041 private XmlElement VivoxDeleteChannel(string parent, string channelid) 1047 private XmlElement VivoxDeleteChannel(string parent, string channelid)
1042 { 1048 {
1043 string requrl = String.Format(m_vivoxChannelDel, m_vivoxServer, "delete", channelid, m_authToken); 1049 string requrl = String.Format(m_vivoxChannelDel, m_vivoxServer, "delete", channelid, m_authToken);
@@ -1048,11 +1054,12 @@ namespace OpenSim.Region.OptionalModules.Avatar.Voice.VivoxVoice
1048 return VivoxCall(requrl, true); 1054 return VivoxCall(requrl, true);
1049 } 1055 }
1050 1056
1051 private static readonly string m_vivoxChannelSearch = "http://{0}/api2/viv_chan_search.php?&cond_chanparent={1}&auth_token={2}"; 1057 private static readonly string m_vivoxChannelSearch = "https://{0}/api2/viv_chan_search.php?&cond_chanparent={1}&auth_token={2}";
1052 1058
1053 /// <summary> 1059 /// <summary>
1054 /// Return information on channels in the given directory 1060 /// Return information on channels in the given directory
1055 /// </summary> 1061 /// </summary>
1062
1056 private XmlElement VivoxListChildren(string channelid) 1063 private XmlElement VivoxListChildren(string channelid)
1057 { 1064 {
1058 string requrl = String.Format(m_vivoxChannelSearch, m_vivoxServer, channelid, m_authToken); 1065 string requrl = String.Format(m_vivoxChannelSearch, m_vivoxServer, channelid, m_authToken);
@@ -1314,4 +1321,4 @@ namespace OpenSim.Region.OptionalModules.Avatar.Voice.VivoxVoice
1314 return false; 1321 return false;
1315 } 1322 }
1316 } 1323 }
1317} \ No newline at end of file 1324}
diff --git a/OpenSim/Region/OptionalModules/Avatar/XmlRpcGroups/GroupsModule.cs b/OpenSim/Region/OptionalModules/Avatar/XmlRpcGroups/GroupsModule.cs
index e669f4c..65bd26c 100644
--- a/OpenSim/Region/OptionalModules/Avatar/XmlRpcGroups/GroupsModule.cs
+++ b/OpenSim/Region/OptionalModules/Avatar/XmlRpcGroups/GroupsModule.cs
@@ -892,7 +892,7 @@ namespace OpenSim.Region.OptionalModules.Avatar.XmlRpcGroups
892 msg.dialog = dialog; 892 msg.dialog = dialog;
893 // msg.dialog = (byte)OpenMetaverse.InstantMessageDialog.GroupNotice; 893 // msg.dialog = (byte)OpenMetaverse.InstantMessageDialog.GroupNotice;
894 msg.fromGroup = true; 894 msg.fromGroup = true;
895 msg.offline = (byte)0; 895 msg.offline = (byte)1; // Allow this message to be stored for offline use
896 msg.ParentEstateID = 0; 896 msg.ParentEstateID = 0;
897 msg.Position = Vector3.Zero; 897 msg.Position = Vector3.Zero;
898 msg.RegionID = UUID.Zero.Guid; 898 msg.RegionID = UUID.Zero.Guid;
diff --git a/OpenSim/Region/OptionalModules/PrimLimitsModule/PrimLimitsModule.cs b/OpenSim/Region/OptionalModules/PrimLimitsModule/PrimLimitsModule.cs
index c1957e2..59ff9b8 100644
--- a/OpenSim/Region/OptionalModules/PrimLimitsModule/PrimLimitsModule.cs
+++ b/OpenSim/Region/OptionalModules/PrimLimitsModule/PrimLimitsModule.cs
@@ -121,12 +121,18 @@ namespace OpenSim.Region.OptionalModules
121 121
122 private bool CanObjectEnter(UUID objectID, bool enteringRegion, Vector3 newPoint, Scene scene) 122 private bool CanObjectEnter(UUID objectID, bool enteringRegion, Vector3 newPoint, Scene scene)
123 { 123 {
124 if ((newPoint.X > 257f || newPoint.X < -1f || newPoint.Y > 257f || newPoint.Y < -1f))
125 return true;
126
124 SceneObjectPart obj = scene.GetSceneObjectPart(objectID); 127 SceneObjectPart obj = scene.GetSceneObjectPart(objectID);
125 Vector3 oldPoint = obj.GroupPosition; 128 Vector3 oldPoint = obj.GroupPosition;
126 int objectCount = obj.ParentGroup.PrimCount; 129 int objectCount = obj.ParentGroup.PrimCount;
127 ILandObject oldParcel = scene.LandChannel.GetLandObject(oldPoint.X, oldPoint.Y); 130 ILandObject oldParcel = scene.LandChannel.GetLandObject(oldPoint.X, oldPoint.Y);
128 ILandObject newParcel = scene.LandChannel.GetLandObject(newPoint.X, newPoint.Y); 131 ILandObject newParcel = scene.LandChannel.GetLandObject(newPoint.X, newPoint.Y);
129 132
133 if (newParcel == null)
134 return true;
135
130 int usedPrims = newParcel.PrimCounts.Total; 136 int usedPrims = newParcel.PrimCounts.Total;
131 int simulatorCapacity = newParcel.GetSimulatorMaxPrimCount(); 137 int simulatorCapacity = newParcel.GetSimulatorMaxPrimCount();
132 138
@@ -171,4 +177,4 @@ namespace OpenSim.Region.OptionalModules
171 return true; 177 return true;
172 } 178 }
173 } 179 }
174} \ No newline at end of file 180}
diff --git a/OpenSim/Region/OptionalModules/Scripting/XmlRpcRouterModule/XmlRpcRouterModule.cs b/OpenSim/Region/OptionalModules/Scripting/XmlRpcRouterModule/XmlRpcRouterModule.cs
index 32659c8..11c87f8 100644
--- a/OpenSim/Region/OptionalModules/Scripting/XmlRpcRouterModule/XmlRpcRouterModule.cs
+++ b/OpenSim/Region/OptionalModules/Scripting/XmlRpcRouterModule/XmlRpcRouterModule.cs
@@ -42,17 +42,22 @@ namespace OpenSim.Region.OptionalModules.Scripting.XmlRpcRouterModule
42 public class XmlRpcRouter : IRegionModule, IXmlRpcRouter 42 public class XmlRpcRouter : IRegionModule, IXmlRpcRouter
43 { 43 {
44 //private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); 44 //private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
45 45 private bool m_enabled = false;
46 public void Initialise(Scene scene, IConfigSource config) 46 public void Initialise(Scene scene, IConfigSource config)
47 { 47 {
48 IConfig startupConfig = config.Configs["Startup"]; 48 IConfig startupConfig = config.Configs["XMLRPC"];
49 if (startupConfig == null) 49 if (startupConfig == null)
50 return; 50 return;
51 51
52 if (startupConfig.GetString("XmlRpcRouterModule", 52 if (startupConfig.GetString("XmlRpcRouterModule",
53 "XmlRpcRouterModule") == "XmlRpcRouterModule") 53 "") == "XmlRpcRouterModule")
54 { 54 {
55 scene.RegisterModuleInterface<IXmlRpcRouter>(this); 55 scene.RegisterModuleInterface<IXmlRpcRouter>(this);
56 m_enabled = true;
57 }
58 else
59 {
60 m_enabled = false;
56 } 61 }
57 } 62 }
58 63
@@ -76,7 +81,10 @@ namespace OpenSim.Region.OptionalModules.Scripting.XmlRpcRouterModule
76 81
77 public void RegisterNewReceiver(IScriptModule scriptEngine, UUID channel, UUID objectID, UUID itemID, string uri) 82 public void RegisterNewReceiver(IScriptModule scriptEngine, UUID channel, UUID objectID, UUID itemID, string uri)
78 { 83 {
79 scriptEngine.PostScriptEvent(itemID, "xmlrpc_uri", new Object[] {uri}); 84 if (m_enabled)
85 {
86 scriptEngine.PostScriptEvent(itemID, "xmlrpc_uri", new Object[] { uri });
87 }
80 } 88 }
81 89
82 public void ScriptRemoved(UUID itemID) 90 public void ScriptRemoved(UUID itemID)
diff --git a/OpenSim/Region/OptionalModules/World/MoneyModule/SampleMoneyModule.cs b/OpenSim/Region/OptionalModules/World/MoneyModule/SampleMoneyModule.cs
index 9c838d0..d206f69 100644
--- a/OpenSim/Region/OptionalModules/World/MoneyModule/SampleMoneyModule.cs
+++ b/OpenSim/Region/OptionalModules/World/MoneyModule/SampleMoneyModule.cs
@@ -838,6 +838,10 @@ namespace OpenSim.Region.OptionalModules.World.MoneyModule
838 if (module != null) 838 if (module != null)
839 module.BuyObject(remoteClient, categoryID, localID, saleType, salePrice); 839 module.BuyObject(remoteClient, categoryID, localID, saleType, salePrice);
840 } 840 }
841
842 public void MoveMoney(UUID fromAgentID, UUID toAgentID, int amount, string text)
843 {
844 }
841 } 845 }
842 846
843 public enum TransactionType : int 847 public enum TransactionType : int
diff --git a/OpenSim/Region/OptionalModules/World/NPC/NPCAvatar.cs b/OpenSim/Region/OptionalModules/World/NPC/NPCAvatar.cs
index 67989ba..d00a6c0 100644
--- a/OpenSim/Region/OptionalModules/World/NPC/NPCAvatar.cs
+++ b/OpenSim/Region/OptionalModules/World/NPC/NPCAvatar.cs
@@ -47,7 +47,7 @@ namespace OpenSim.Region.OptionalModules.World.NPC
47 private readonly string m_firstname; 47 private readonly string m_firstname;
48 private readonly string m_lastname; 48 private readonly string m_lastname;
49 private readonly Vector3 m_startPos; 49 private readonly Vector3 m_startPos;
50 private readonly UUID m_uuid = UUID.Random(); 50 private UUID m_uuid = UUID.Random();
51 private readonly Scene m_scene; 51 private readonly Scene m_scene;
52 private readonly UUID m_ownerID; 52 private readonly UUID m_ownerID;
53 53
@@ -221,7 +221,7 @@ namespace OpenSim.Region.OptionalModules.World.NPC
221#pragma warning disable 67 221#pragma warning disable 67
222 public event Action<IClientAPI> OnLogout; 222 public event Action<IClientAPI> OnLogout;
223 public event ObjectPermissions OnObjectPermissions; 223 public event ObjectPermissions OnObjectPermissions;
224 224 public event MoveItemsAndLeaveCopy OnMoveItemsAndLeaveCopy;
225 public event MoneyTransferRequest OnMoneyTransferRequest; 225 public event MoneyTransferRequest OnMoneyTransferRequest;
226 public event ParcelBuy OnParcelBuy; 226 public event ParcelBuy OnParcelBuy;
227 public event Action<IClientAPI> OnConnectionClosed; 227 public event Action<IClientAPI> OnConnectionClosed;
@@ -241,6 +241,7 @@ namespace OpenSim.Region.OptionalModules.World.NPC
241 public event ObjectDrop OnObjectDrop; 241 public event ObjectDrop OnObjectDrop;
242 public event StartAnim OnStartAnim; 242 public event StartAnim OnStartAnim;
243 public event StopAnim OnStopAnim; 243 public event StopAnim OnStopAnim;
244 public event ChangeAnim OnChangeAnim;
244 public event LinkObjects OnLinkObjects; 245 public event LinkObjects OnLinkObjects;
245 public event DelinkObjects OnDelinkObjects; 246 public event DelinkObjects OnDelinkObjects;
246 public event RequestMapBlocks OnRequestMapBlocks; 247 public event RequestMapBlocks OnRequestMapBlocks;
@@ -290,6 +291,7 @@ namespace OpenSim.Region.OptionalModules.World.NPC
290 public event UpdatePrimTexture OnUpdatePrimTexture; 291 public event UpdatePrimTexture OnUpdatePrimTexture;
291 public event UpdateVector OnUpdatePrimGroupPosition; 292 public event UpdateVector OnUpdatePrimGroupPosition;
292 public event UpdateVector OnUpdatePrimSinglePosition; 293 public event UpdateVector OnUpdatePrimSinglePosition;
294 public event ClientChangeObject onClientChangeObject;
293 public event UpdatePrimRotation OnUpdatePrimGroupRotation; 295 public event UpdatePrimRotation OnUpdatePrimGroupRotation;
294 public event UpdatePrimSingleRotationPosition OnUpdatePrimSingleRotationPosition; 296 public event UpdatePrimSingleRotationPosition OnUpdatePrimSingleRotationPosition;
295 public event UpdatePrimSingleRotation OnUpdatePrimSingleRotation; 297 public event UpdatePrimSingleRotation OnUpdatePrimSingleRotation;
@@ -427,7 +429,7 @@ namespace OpenSim.Region.OptionalModules.World.NPC
427 public event ClassifiedInfoRequest OnClassifiedInfoRequest; 429 public event ClassifiedInfoRequest OnClassifiedInfoRequest;
428 public event ClassifiedInfoUpdate OnClassifiedInfoUpdate; 430 public event ClassifiedInfoUpdate OnClassifiedInfoUpdate;
429 public event ClassifiedDelete OnClassifiedDelete; 431 public event ClassifiedDelete OnClassifiedDelete;
430 public event ClassifiedDelete OnClassifiedGodDelete; 432 public event ClassifiedGodDelete OnClassifiedGodDelete;
431 433
432 public event EventNotificationAddRequest OnEventNotificationAddRequest; 434 public event EventNotificationAddRequest OnEventNotificationAddRequest;
433 public event EventNotificationRemoveRequest OnEventNotificationRemoveRequest; 435 public event EventNotificationRemoveRequest OnEventNotificationRemoveRequest;
@@ -466,6 +468,7 @@ namespace OpenSim.Region.OptionalModules.World.NPC
466 public event GroupVoteHistoryRequest OnGroupVoteHistoryRequest; 468 public event GroupVoteHistoryRequest OnGroupVoteHistoryRequest;
467 public event SimWideDeletesDelegate OnSimWideDeletes; 469 public event SimWideDeletesDelegate OnSimWideDeletes;
468 public event SendPostcard OnSendPostcard; 470 public event SendPostcard OnSendPostcard;
471 public event ChangeInventoryItemFlags OnChangeInventoryItemFlags;
469 public event MuteListEntryUpdate OnUpdateMuteListEntry; 472 public event MuteListEntryUpdate OnUpdateMuteListEntry;
470 public event MuteListEntryRemove OnRemoveMuteListEntry; 473 public event MuteListEntryRemove OnRemoveMuteListEntry;
471 public event GodlikeMessage onGodlikeMessage; 474 public event GodlikeMessage onGodlikeMessage;
@@ -493,6 +496,7 @@ namespace OpenSim.Region.OptionalModules.World.NPC
493 public virtual UUID AgentId 496 public virtual UUID AgentId
494 { 497 {
495 get { return m_uuid; } 498 get { return m_uuid; }
499 set { m_uuid = value; }
496 } 500 }
497 501
498 public UUID SessionId 502 public UUID SessionId
@@ -751,7 +755,7 @@ namespace OpenSim.Region.OptionalModules.World.NPC
751 { 755 {
752 } 756 }
753 757
754 public virtual void SendXferPacket(ulong xferID, uint packet, byte[] data) 758 public virtual void SendXferPacket(ulong xferID, uint packet, byte[] data, bool isTaskInventory)
755 { 759 {
756 } 760 }
757 public virtual void SendAbortXferPacket(ulong xferID) 761 public virtual void SendAbortXferPacket(ulong xferID)
@@ -901,8 +905,11 @@ namespace OpenSim.Region.OptionalModules.World.NPC
901 905
902 public void Close() 906 public void Close()
903 { 907 {
904 // Remove ourselves from the scene 908 Close(true);
905 m_scene.RemoveClient(AgentId, false); 909 }
910
911 public void Close(bool sendStop)
912 {
906 } 913 }
907 914
908 public void Start() 915 public void Start()
@@ -1227,5 +1234,10 @@ namespace OpenSim.Region.OptionalModules.World.NPC
1227 public void SendPlacesReply(UUID queryID, UUID transactionID, PlacesReplyData[] data) 1234 public void SendPlacesReply(UUID queryID, UUID transactionID, PlacesReplyData[] data)
1228 { 1235 {
1229 } 1236 }
1237
1238 public void SendPartPhysicsProprieties(ISceneEntity entity)
1239 {
1240 }
1241
1230 } 1242 }
1231} 1243}
diff --git a/OpenSim/Region/OptionalModules/World/NPC/NPCModule.cs b/OpenSim/Region/OptionalModules/World/NPC/NPCModule.cs
index 1e85fb4..b37aba3 100644
--- a/OpenSim/Region/OptionalModules/World/NPC/NPCModule.cs
+++ b/OpenSim/Region/OptionalModules/World/NPC/NPCModule.cs
@@ -144,29 +144,30 @@ namespace OpenSim.Region.OptionalModules.World.NPC
144// acd.AgentID, i, acd.Appearance.Texture.FaceTextures[i]); 144// acd.AgentID, i, acd.Appearance.Texture.FaceTextures[i]);
145// } 145// }
146 146
147 lock (m_avatars) 147 ManualResetEvent ev = new ManualResetEvent(false);
148 {
149 scene.AuthenticateHandler.AddNewCircuit(npcAvatar.CircuitCode, acd);
150 scene.AddNewClient(npcAvatar, PresenceType.Npc);
151 148
152 ScenePresence sp; 149 Util.FireAndForget(delegate(object x) {
153 if (scene.TryGetScenePresence(npcAvatar.AgentId, out sp)) 150 lock (m_avatars)
154 { 151 {
155// m_log.DebugFormat( 152 scene.AuthenticateHandler.AddNewCircuit(npcAvatar.CircuitCode, acd);
156// "[NPC MODULE]: Successfully retrieved scene presence for NPC {0} {1}", sp.Name, sp.UUID); 153 scene.AddNewClient(npcAvatar, PresenceType.Npc);
157 154
158 sp.CompleteMovement(npcAvatar, false); 155 ScenePresence sp;
159 m_avatars.Add(npcAvatar.AgentId, npcAvatar); 156 if (scene.TryGetScenePresence(npcAvatar.AgentId, out sp))
160 m_log.DebugFormat("[NPC MODULE]: Created NPC {0} {1}", npcAvatar.AgentId, sp.Name); 157 {
161 158 sp.CompleteMovement(npcAvatar, false);
162 return npcAvatar.AgentId; 159 m_avatars.Add(npcAvatar.AgentId, npcAvatar);
163 } 160 m_log.DebugFormat("[NPC MODULE]: Created NPC {0} {1}", npcAvatar.AgentId, sp.Name);
164 else 161 }
165 {
166 m_log.WarnFormat("[NPC MODULE]: Could not find scene presence for NPC {0} {1}", sp.Name, sp.UUID);
167 return UUID.Zero;
168 } 162 }
169 } 163 ev.Set();
164 });
165
166 ev.WaitOne();
167
168// m_log.DebugFormat("[NPC MODULE]: Created NPC with id {0}", npcAvatar.AgentId);
169
170 return npcAvatar.AgentId;
170 } 171 }
171 172
172 public bool MoveToTarget(UUID agentID, Scene scene, Vector3 pos, bool noFly, bool landAtTarget, bool running) 173 public bool MoveToTarget(UUID agentID, Scene scene, Vector3 pos, bool noFly, bool landAtTarget, bool running)
@@ -366,9 +367,15 @@ namespace OpenSim.Region.OptionalModules.World.NPC
366 { 367 {
367 NPCAvatar av; 368 NPCAvatar av;
368 if (m_avatars.TryGetValue(npcID, out av)) 369 if (m_avatars.TryGetValue(npcID, out av))
370 {
371 if (npcID == callerID)
372 return true;
369 return CheckPermissions(av, callerID); 373 return CheckPermissions(av, callerID);
374 }
370 else 375 else
376 {
371 return false; 377 return false;
378 }
372 } 379 }
373 } 380 }
374 381
@@ -380,7 +387,7 @@ namespace OpenSim.Region.OptionalModules.World.NPC
380 /// <returns>true if they do, false if they don't.</returns> 387 /// <returns>true if they do, false if they don't.</returns>
381 private bool CheckPermissions(NPCAvatar av, UUID callerID) 388 private bool CheckPermissions(NPCAvatar av, UUID callerID)
382 { 389 {
383 return callerID == UUID.Zero || av.OwnerID == UUID.Zero || av.OwnerID == callerID; 390 return callerID == UUID.Zero || av.OwnerID == UUID.Zero || av.OwnerID == callerID || av.AgentId == callerID;
384 } 391 }
385 } 392 }
386} 393}