diff options
author | Melanie | 2009-10-19 21:58:51 +0100 |
---|---|---|
committer | Melanie | 2009-10-19 21:58:51 +0100 |
commit | ffd59868f5e2d797160b1bbfc13f3b4bac717b36 (patch) | |
tree | fb807a129a6e449ac17dadce15d7b27268c92c3f /OpenSim | |
parent | Merge branch 'master' into vehicles (diff) | |
parent | Minor formatting cleanup. (diff) | |
download | opensim-SC-ffd59868f5e2d797160b1bbfc13f3b4bac717b36.zip opensim-SC-ffd59868f5e2d797160b1bbfc13f3b4bac717b36.tar.gz opensim-SC-ffd59868f5e2d797160b1bbfc13f3b4bac717b36.tar.bz2 opensim-SC-ffd59868f5e2d797160b1bbfc13f3b4bac717b36.tar.xz |
Merge branch 'master' into vehicles
Diffstat (limited to 'OpenSim')
23 files changed, 212 insertions, 76 deletions
diff --git a/OpenSim/Client/VWoHTTP/ClientStack/VWHClientView.cs b/OpenSim/Client/VWoHTTP/ClientStack/VWHClientView.cs index e3abcf5..bd061e7 100644 --- a/OpenSim/Client/VWoHTTP/ClientStack/VWHClientView.cs +++ b/OpenSim/Client/VWoHTTP/ClientStack/VWHClientView.cs | |||
@@ -402,6 +402,7 @@ namespace OpenSim.Client.VWoHTTP.ClientStack | |||
402 | public event PickInfoUpdate OnPickInfoUpdate = delegate { }; | 402 | public event PickInfoUpdate OnPickInfoUpdate = delegate { }; |
403 | public event AvatarNotesUpdate OnAvatarNotesUpdate = delegate { }; | 403 | public event AvatarNotesUpdate OnAvatarNotesUpdate = delegate { }; |
404 | public event MuteListRequest OnMuteListRequest = delegate { }; | 404 | public event MuteListRequest OnMuteListRequest = delegate { }; |
405 | public event AvatarInterestUpdate OnAvatarInterestUpdate = delegate { }; | ||
405 | public event PlacesQuery OnPlacesQuery = delegate { }; | 406 | public event PlacesQuery OnPlacesQuery = delegate { }; |
406 | 407 | ||
407 | 408 | ||
@@ -1118,6 +1119,11 @@ namespace OpenSim.Client.VWoHTTP.ClientStack | |||
1118 | throw new System.NotImplementedException(); | 1119 | throw new System.NotImplementedException(); |
1119 | } | 1120 | } |
1120 | 1121 | ||
1122 | public void SendAvatarInterestUpdate(IClientAPI client, uint wantmask, string wanttext, uint skillsmask, string skillstext, string languages) | ||
1123 | { | ||
1124 | throw new System.NotImplementedException(); | ||
1125 | } | ||
1126 | |||
1121 | public void SendParcelDwellReply(int localID, UUID parcelID, float dwell) | 1127 | public void SendParcelDwellReply(int localID, UUID parcelID, float dwell) |
1122 | { | 1128 | { |
1123 | throw new System.NotImplementedException(); | 1129 | throw new System.NotImplementedException(); |
diff --git a/OpenSim/Data/MSSQL/MSSQLAuthenticationData.cs b/OpenSim/Data/MSSQL/MSSQLAuthenticationData.cs index 9a17e47..801610a 100644 --- a/OpenSim/Data/MSSQL/MSSQLAuthenticationData.cs +++ b/OpenSim/Data/MSSQL/MSSQLAuthenticationData.cs | |||
@@ -119,7 +119,7 @@ namespace OpenSim.Data.MSSQL | |||
119 | updateBuilder.AppendFormat("{0} = @{0}",field); | 119 | updateBuilder.AppendFormat("{0} = @{0}",field); |
120 | 120 | ||
121 | first = false; | 121 | first = false; |
122 | cmd.Parameters.Add(m_database.CreateParameter("@" + field, data.Data[field])); | 122 | cmd.Parameters.Add(m_database.CreateParameter("@" + field, data.Data[field])); |
123 | } | 123 | } |
124 | 124 | ||
125 | updateBuilder.Append(" where UUID = @principalID"); | 125 | updateBuilder.Append(" where UUID = @principalID"); |
@@ -135,7 +135,7 @@ namespace OpenSim.Data.MSSQL | |||
135 | 135 | ||
136 | insertBuilder.AppendFormat("insert into {0} (UUID, ", m_Realm); | 136 | insertBuilder.AppendFormat("insert into {0} (UUID, ", m_Realm); |
137 | insertBuilder.Append(String.Join(", ", fields)); | 137 | insertBuilder.Append(String.Join(", ", fields)); |
138 | insertBuilder.Append(") values ( @principalID, @"); | 138 | insertBuilder.Append(") values (@principalID, @"); |
139 | insertBuilder.Append(String.Join(", @", fields)); | 139 | insertBuilder.Append(String.Join(", @", fields)); |
140 | insertBuilder.Append(")"); | 140 | insertBuilder.Append(")"); |
141 | 141 | ||
diff --git a/OpenSim/Data/MSSQL/MSSQLLegacyRegionData.cs b/OpenSim/Data/MSSQL/MSSQLLegacyRegionData.cs index e2ae5cb..cff6b00 100644 --- a/OpenSim/Data/MSSQL/MSSQLLegacyRegionData.cs +++ b/OpenSim/Data/MSSQL/MSSQLLegacyRegionData.cs | |||
@@ -146,7 +146,7 @@ namespace OpenSim.Data.MSSQL | |||
146 | sceneObjectPart.Name, sceneObjectPart.UUID, sceneObjectPart.GroupPosition, groupID); | 146 | sceneObjectPart.Name, sceneObjectPart.UUID, sceneObjectPart.GroupPosition, groupID); |
147 | 147 | ||
148 | sceneObjectPart.UUID = groupID; | 148 | sceneObjectPart.UUID = groupID; |
149 | } | 149 | } |
150 | 150 | ||
151 | grp = new SceneObjectGroup(sceneObjectPart); | 151 | grp = new SceneObjectGroup(sceneObjectPart); |
152 | } | 152 | } |
diff --git a/OpenSim/Data/MSSQL/MSSQLRegionData.cs b/OpenSim/Data/MSSQL/MSSQLRegionData.cs index 78d7fd0..a898aab 100644 --- a/OpenSim/Data/MSSQL/MSSQLRegionData.cs +++ b/OpenSim/Data/MSSQL/MSSQLRegionData.cs | |||
@@ -62,7 +62,7 @@ namespace OpenSim.Data.MSSQL | |||
62 | conn.Open(); | 62 | conn.Open(); |
63 | Migration m = new Migration(conn, GetType().Assembly, "GridStore"); | 63 | Migration m = new Migration(conn, GetType().Assembly, "GridStore"); |
64 | m.Update(); | 64 | m.Update(); |
65 | } | 65 | } |
66 | } | 66 | } |
67 | 67 | ||
68 | public List<RegionData> Get(string regionName, UUID scopeID) | 68 | public List<RegionData> Get(string regionName, UUID scopeID) |
@@ -98,7 +98,7 @@ namespace OpenSim.Data.MSSQL | |||
98 | return null; | 98 | return null; |
99 | 99 | ||
100 | return ret[0]; | 100 | return ret[0]; |
101 | } | 101 | } |
102 | } | 102 | } |
103 | 103 | ||
104 | public RegionData Get(UUID regionID, UUID scopeID) | 104 | public RegionData Get(UUID regionID, UUID scopeID) |
@@ -251,7 +251,7 @@ namespace OpenSim.Data.MSSQL | |||
251 | { | 251 | { |
252 | string insert = "insert into [" + m_Realm + "] ([uuid], [ScopeID], [locX], [locY], [sizeX], [sizeY], [regionName], [" + | 252 | string insert = "insert into [" + m_Realm + "] ([uuid], [ScopeID], [locX], [locY], [sizeX], [sizeY], [regionName], [" + |
253 | String.Join("], [", fields) + | 253 | String.Join("], [", fields) + |
254 | "]) values ( @regionID, @scopeID, @posX, @posY, @sizeX, @sizeY, @regionName, @" + String.Join(", @", fields) + ")"; | 254 | "]) values (@regionID, @scopeID, @posX, @posY, @sizeX, @sizeY, @regionName, @" + String.Join(", @", fields) + ")"; |
255 | 255 | ||
256 | cmd.CommandText = insert; | 256 | cmd.CommandText = insert; |
257 | 257 | ||
diff --git a/OpenSim/Data/MSSQL/MSSQLUserAccountData.cs b/OpenSim/Data/MSSQL/MSSQLUserAccountData.cs index 7b6e7c8..2d92cb1 100644 --- a/OpenSim/Data/MSSQL/MSSQLUserAccountData.cs +++ b/OpenSim/Data/MSSQL/MSSQLUserAccountData.cs | |||
@@ -54,7 +54,7 @@ namespace OpenSim.Data.MSSQL | |||
54 | conn.Open(); | 54 | conn.Open(); |
55 | Migration m = new Migration(conn, GetType().Assembly, "UserStore"); | 55 | Migration m = new Migration(conn, GetType().Assembly, "UserStore"); |
56 | m.Update(); | 56 | m.Update(); |
57 | } | 57 | } |
58 | } | 58 | } |
59 | 59 | ||
60 | public List<UserAccountData> Query(UUID principalID, UUID scopeID, string query) | 60 | public List<UserAccountData> Query(UUID principalID, UUID scopeID, string query) |
@@ -134,7 +134,7 @@ namespace OpenSim.Data.MSSQL | |||
134 | updateBuilder.AppendFormat("{0} = @{0}", field); | 134 | updateBuilder.AppendFormat("{0} = @{0}", field); |
135 | 135 | ||
136 | first = false; | 136 | first = false; |
137 | cmd.Parameters.Add(m_database.CreateParameter("@" + field, data.Data[field])); | 137 | cmd.Parameters.Add(m_database.CreateParameter("@" + field, data.Data[field])); |
138 | } | 138 | } |
139 | 139 | ||
140 | updateBuilder.Append(" where UUID = @principalID"); | 140 | updateBuilder.Append(" where UUID = @principalID"); |
@@ -153,7 +153,7 @@ namespace OpenSim.Data.MSSQL | |||
153 | StringBuilder insertBuilder = new StringBuilder(); | 153 | StringBuilder insertBuilder = new StringBuilder(); |
154 | insertBuilder.AppendFormat("insert into {0} (UUID, ScopeID, ", m_Realm); | 154 | insertBuilder.AppendFormat("insert into {0} (UUID, ScopeID, ", m_Realm); |
155 | insertBuilder.Append(String.Join(", ", fields)); | 155 | insertBuilder.Append(String.Join(", ", fields)); |
156 | insertBuilder.Append(") values ( @principalID, @scopeID, @"); | 156 | insertBuilder.Append(") values (@principalID, @scopeID, @"); |
157 | insertBuilder.Append(String.Join(", @", fields)); | 157 | insertBuilder.Append(String.Join(", @", fields)); |
158 | insertBuilder.Append(")"); | 158 | insertBuilder.Append(")"); |
159 | 159 | ||
diff --git a/OpenSim/Framework/BlockingQueue.cs b/OpenSim/Framework/BlockingQueue.cs index 857930a..3658161 100644 --- a/OpenSim/Framework/BlockingQueue.cs +++ b/OpenSim/Framework/BlockingQueue.cs | |||
@@ -67,8 +67,8 @@ namespace OpenSim.Framework | |||
67 | return m_pqueue.Dequeue(); | 67 | return m_pqueue.Dequeue(); |
68 | 68 | ||
69 | if (m_queue.Count > 0) | 69 | if (m_queue.Count > 0) |
70 | return m_queue.Dequeue(); | 70 | return m_queue.Dequeue(); |
71 | return default(T); | 71 | return default(T); |
72 | } | 72 | } |
73 | } | 73 | } |
74 | 74 | ||
@@ -121,7 +121,7 @@ namespace OpenSim.Framework | |||
121 | { | 121 | { |
122 | m_pqueue.Clear(); | 122 | m_pqueue.Clear(); |
123 | m_queue.Clear(); | 123 | m_queue.Clear(); |
124 | Monitor.Pulse(m_queueSync); | 124 | Monitor.Pulse(m_queueSync); |
125 | } | 125 | } |
126 | } | 126 | } |
127 | } | 127 | } |
diff --git a/OpenSim/Framework/IClientAPI.cs b/OpenSim/Framework/IClientAPI.cs index 29846f5..9fd043c 100644 --- a/OpenSim/Framework/IClientAPI.cs +++ b/OpenSim/Framework/IClientAPI.cs | |||
@@ -792,6 +792,7 @@ namespace OpenSim.Framework | |||
792 | event PickGodDelete OnPickGodDelete; | 792 | event PickGodDelete OnPickGodDelete; |
793 | event PickInfoUpdate OnPickInfoUpdate; | 793 | event PickInfoUpdate OnPickInfoUpdate; |
794 | event AvatarNotesUpdate OnAvatarNotesUpdate; | 794 | event AvatarNotesUpdate OnAvatarNotesUpdate; |
795 | event AvatarInterestUpdate OnAvatarInterestUpdate; | ||
795 | 796 | ||
796 | event MuteListRequest OnMuteListRequest; | 797 | event MuteListRequest OnMuteListRequest; |
797 | 798 | ||
diff --git a/OpenSim/Framework/RegionInfo.cs b/OpenSim/Framework/RegionInfo.cs index d3a5357..a7315f5 100644 --- a/OpenSim/Framework/RegionInfo.cs +++ b/OpenSim/Framework/RegionInfo.cs | |||
@@ -303,6 +303,7 @@ namespace OpenSim.Framework | |||
303 | private int m_physPrimMax = 0; | 303 | private int m_physPrimMax = 0; |
304 | private bool m_clampPrimSize = false; | 304 | private bool m_clampPrimSize = false; |
305 | private int m_objectCapacity = 0; | 305 | private int m_objectCapacity = 0; |
306 | private string m_regionType = String.Empty; | ||
306 | 307 | ||
307 | 308 | ||
308 | // Apparently, we're applying the same estatesettings regardless of whether it's local or remote. | 309 | // Apparently, we're applying the same estatesettings regardless of whether it's local or remote. |
@@ -478,6 +479,11 @@ namespace OpenSim.Framework | |||
478 | get { return (byte)Util.ConvertMaturityToAccessLevel((uint)RegionSettings.Maturity); } | 479 | get { return (byte)Util.ConvertMaturityToAccessLevel((uint)RegionSettings.Maturity); } |
479 | } | 480 | } |
480 | 481 | ||
482 | public string RegionType | ||
483 | { | ||
484 | get { return m_regionType; } | ||
485 | } | ||
486 | |||
481 | public void SetEndPoint(string ipaddr, int port) | 487 | public void SetEndPoint(string ipaddr, int port) |
482 | { | 488 | { |
483 | IPAddress tmpIP = IPAddress.Parse(ipaddr); | 489 | IPAddress tmpIP = IPAddress.Parse(ipaddr); |
@@ -654,8 +660,8 @@ namespace OpenSim.Framework | |||
654 | 660 | ||
655 | MasterAvatarAssignedUUID = new UUID(masterAvatarUUID); | 661 | MasterAvatarAssignedUUID = new UUID(masterAvatarUUID); |
656 | 662 | ||
663 | m_regionType = config.GetString("RegionType", String.Empty); | ||
657 | 664 | ||
658 | |||
659 | // Prim stuff | 665 | // Prim stuff |
660 | // | 666 | // |
661 | m_nonphysPrimMax = config.GetInt("NonphysicalPrimMax", 256); | 667 | m_nonphysPrimMax = config.GetInt("NonphysicalPrimMax", 256); |
@@ -721,6 +727,9 @@ namespace OpenSim.Framework | |||
721 | 727 | ||
722 | if (ScopeID != UUID.Zero) | 728 | if (ScopeID != UUID.Zero) |
723 | config.Set("ScopeID", ScopeID.ToString()); | 729 | config.Set("ScopeID", ScopeID.ToString()); |
730 | |||
731 | if (RegionType != String.Empty) | ||
732 | config.Set("RegionType", RegionType); | ||
724 | } | 733 | } |
725 | 734 | ||
726 | public bool ignoreIncomingConfiguration(string configuration_key, object configuration_result) | 735 | public bool ignoreIncomingConfiguration(string configuration_key, object configuration_result) |
@@ -810,6 +819,9 @@ namespace OpenSim.Framework | |||
810 | 819 | ||
811 | configMember.addConfigurationOption("scope_id", ConfigurationOption.ConfigurationTypes.TYPE_UUID, | 820 | configMember.addConfigurationOption("scope_id", ConfigurationOption.ConfigurationTypes.TYPE_UUID, |
812 | "Scope ID for this region", ScopeID.ToString(), true); | 821 | "Scope ID for this region", ScopeID.ToString(), true); |
822 | |||
823 | configMember.addConfigurationOption("region_type", ConfigurationOption.ConfigurationTypes.TYPE_STRING, | ||
824 | "Region Type", String.Empty, true); | ||
813 | } | 825 | } |
814 | 826 | ||
815 | public void loadConfigurationOptions() | 827 | public void loadConfigurationOptions() |
@@ -873,6 +885,9 @@ namespace OpenSim.Framework | |||
873 | 885 | ||
874 | configMember.addConfigurationOption("scope_id", ConfigurationOption.ConfigurationTypes.TYPE_UUID, | 886 | configMember.addConfigurationOption("scope_id", ConfigurationOption.ConfigurationTypes.TYPE_UUID, |
875 | "Scope ID for this region", UUID.Zero.ToString(), true); | 887 | "Scope ID for this region", UUID.Zero.ToString(), true); |
888 | |||
889 | configMember.addConfigurationOption("region_type", ConfigurationOption.ConfigurationTypes.TYPE_STRING, | ||
890 | "Region Type", String.Empty, true); | ||
876 | } | 891 | } |
877 | 892 | ||
878 | public bool shouldMasterAvatarDetailsBeAsked(string configuration_key) | 893 | public bool shouldMasterAvatarDetailsBeAsked(string configuration_key) |
@@ -953,6 +968,9 @@ namespace OpenSim.Framework | |||
953 | case "scope_id": | 968 | case "scope_id": |
954 | ScopeID = (UUID)configuration_result; | 969 | ScopeID = (UUID)configuration_result; |
955 | break; | 970 | break; |
971 | case "region_type": | ||
972 | m_regionType = (string)configuration_result; | ||
973 | break; | ||
956 | } | 974 | } |
957 | 975 | ||
958 | return true; | 976 | return true; |
@@ -988,6 +1006,8 @@ namespace OpenSim.Framework | |||
988 | args["allow_alt_ports"] = OSD.FromBoolean(m_allow_alternate_ports); | 1006 | args["allow_alt_ports"] = OSD.FromBoolean(m_allow_alternate_ports); |
989 | if ((proxyUrl != null) && !proxyUrl.Equals("")) | 1007 | if ((proxyUrl != null) && !proxyUrl.Equals("")) |
990 | args["proxy_url"] = OSD.FromString(proxyUrl); | 1008 | args["proxy_url"] = OSD.FromString(proxyUrl); |
1009 | if (RegionType != String.Empty) | ||
1010 | args["region_type"] = OSD.FromString(RegionType); | ||
991 | 1011 | ||
992 | return args; | 1012 | return args; |
993 | } | 1013 | } |
@@ -1035,6 +1055,8 @@ namespace OpenSim.Framework | |||
1035 | m_allow_alternate_ports = args["allow_alt_ports"].AsBoolean(); | 1055 | m_allow_alternate_ports = args["allow_alt_ports"].AsBoolean(); |
1036 | if (args["proxy_url"] != null) | 1056 | if (args["proxy_url"] != null) |
1037 | proxyUrl = args["proxy_url"].AsString(); | 1057 | proxyUrl = args["proxy_url"].AsString(); |
1058 | if (args["region_type"] != null) | ||
1059 | m_regionType = args["region_type"].AsString(); | ||
1038 | } | 1060 | } |
1039 | 1061 | ||
1040 | public static RegionInfo Create(UUID regionID, string regionName, uint regX, uint regY, string externalHostName, uint httpPort, uint simPort, uint remotingPort, string serverURI) | 1062 | public static RegionInfo Create(UUID regionID, string regionName, uint regX, uint regY, string externalHostName, uint httpPort, uint simPort, uint remotingPort, string serverURI) |
diff --git a/OpenSim/Framework/Serialization/External/LandDataSerializer.cs b/OpenSim/Framework/Serialization/External/LandDataSerializer.cs index a3bc5d1..ff0afc8 100644 --- a/OpenSim/Framework/Serialization/External/LandDataSerializer.cs +++ b/OpenSim/Framework/Serialization/External/LandDataSerializer.cs | |||
@@ -41,7 +41,7 @@ namespace OpenSim.Framework.Serialization.External | |||
41 | public class LandDataSerializer | 41 | public class LandDataSerializer |
42 | { | 42 | { |
43 | protected static UTF8Encoding m_utf8Encoding = new UTF8Encoding(); | 43 | protected static UTF8Encoding m_utf8Encoding = new UTF8Encoding(); |
44 | 44 | ||
45 | /// <summary> | 45 | /// <summary> |
46 | /// Reify/deserialize landData | 46 | /// Reify/deserialize landData |
47 | /// </summary> | 47 | /// </summary> |
@@ -52,7 +52,7 @@ namespace OpenSim.Framework.Serialization.External | |||
52 | { | 52 | { |
53 | return Deserialize(m_utf8Encoding.GetString(serializedLandData, 0, serializedLandData.Length)); | 53 | return Deserialize(m_utf8Encoding.GetString(serializedLandData, 0, serializedLandData.Length)); |
54 | } | 54 | } |
55 | 55 | ||
56 | /// <summary> | 56 | /// <summary> |
57 | /// Reify/deserialize landData | 57 | /// Reify/deserialize landData |
58 | /// </summary> | 58 | /// </summary> |
@@ -62,10 +62,10 @@ namespace OpenSim.Framework.Serialization.External | |||
62 | public static LandData Deserialize(string serializedLandData) | 62 | public static LandData Deserialize(string serializedLandData) |
63 | { | 63 | { |
64 | LandData landData = new LandData(); | 64 | LandData landData = new LandData(); |
65 | 65 | ||
66 | StringReader sr = new StringReader(serializedLandData); | 66 | StringReader sr = new StringReader(serializedLandData); |
67 | XmlTextReader xtr = new XmlTextReader(sr); | 67 | XmlTextReader xtr = new XmlTextReader(sr); |
68 | 68 | ||
69 | xtr.ReadStartElement("LandData"); | 69 | xtr.ReadStartElement("LandData"); |
70 | 70 | ||
71 | landData.Area = Convert.ToInt32( xtr.ReadElementString("Area")); | 71 | landData.Area = Convert.ToInt32( xtr.ReadElementString("Area")); |
@@ -106,7 +106,7 @@ namespace OpenSim.Framework.Serialization.External | |||
106 | pae.Time = Convert.ToDateTime( xtr.ReadElementString("Time")); | 106 | pae.Time = Convert.ToDateTime( xtr.ReadElementString("Time")); |
107 | pae.Flags = (AccessList)Convert.ToUInt32( xtr.ReadElementString("AccessList")); | 107 | pae.Flags = (AccessList)Convert.ToUInt32( xtr.ReadElementString("AccessList")); |
108 | xtr.ReadEndElement(); | 108 | xtr.ReadEndElement(); |
109 | 109 | ||
110 | landData.ParcelAccessList.Add(pae); | 110 | landData.ParcelAccessList.Add(pae); |
111 | } | 111 | } |
112 | } | 112 | } |
@@ -122,13 +122,13 @@ namespace OpenSim.Framework.Serialization.External | |||
122 | landData.OtherCleanTime = Convert.ToInt32( xtr.ReadElementString("OtherCleanTime")); | 122 | landData.OtherCleanTime = Convert.ToInt32( xtr.ReadElementString("OtherCleanTime")); |
123 | 123 | ||
124 | xtr.ReadEndElement(); | 124 | xtr.ReadEndElement(); |
125 | 125 | ||
126 | xtr.Close(); | 126 | xtr.Close(); |
127 | sr.Close(); | 127 | sr.Close(); |
128 | 128 | ||
129 | return landData; | 129 | return landData; |
130 | } | 130 | } |
131 | 131 | ||
132 | public static string Serialize(LandData landData) | 132 | public static string Serialize(LandData landData) |
133 | { | 133 | { |
134 | StringWriter sw = new StringWriter(); | 134 | StringWriter sw = new StringWriter(); |
@@ -137,8 +137,8 @@ namespace OpenSim.Framework.Serialization.External | |||
137 | 137 | ||
138 | xtw.WriteStartDocument(); | 138 | xtw.WriteStartDocument(); |
139 | xtw.WriteStartElement("LandData"); | 139 | xtw.WriteStartElement("LandData"); |
140 | 140 | ||
141 | xtw.WriteElementString("Area", Convert.ToString(landData.Area)); | 141 | xtw.WriteElementString("Area", Convert.ToString(landData.Area)); |
142 | xtw.WriteElementString("AuctionID", Convert.ToString(landData.AuctionID)); | 142 | xtw.WriteElementString("AuctionID", Convert.ToString(landData.AuctionID)); |
143 | xtw.WriteElementString("AuthBuyerID", landData.AuthBuyerID.ToString()); | 143 | xtw.WriteElementString("AuthBuyerID", landData.AuthBuyerID.ToString()); |
144 | xtw.WriteElementString("Category", Convert.ToString((sbyte)landData.Category)); | 144 | xtw.WriteElementString("Category", Convert.ToString((sbyte)landData.Category)); |
@@ -170,7 +170,7 @@ namespace OpenSim.Framework.Serialization.External | |||
170 | xtw.WriteEndElement(); | 170 | xtw.WriteEndElement(); |
171 | } | 171 | } |
172 | xtw.WriteEndElement(); | 172 | xtw.WriteEndElement(); |
173 | 173 | ||
174 | xtw.WriteElementString("PassHours", Convert.ToString(landData.PassHours)); | 174 | xtw.WriteElementString("PassHours", Convert.ToString(landData.PassHours)); |
175 | xtw.WriteElementString("PassPrice", Convert.ToString(landData.PassPrice)); | 175 | xtw.WriteElementString("PassPrice", Convert.ToString(landData.PassPrice)); |
176 | xtw.WriteElementString("SalePrice", Convert.ToString(landData.SalePrice)); | 176 | xtw.WriteElementString("SalePrice", Convert.ToString(landData.SalePrice)); |
@@ -184,7 +184,7 @@ namespace OpenSim.Framework.Serialization.External | |||
184 | 184 | ||
185 | xtw.Close(); | 185 | xtw.Close(); |
186 | sw.Close(); | 186 | sw.Close(); |
187 | 187 | ||
188 | return sw.ToString(); | 188 | return sw.ToString(); |
189 | } | 189 | } |
190 | } | 190 | } |
diff --git a/OpenSim/Framework/Servers/BaseOpenSimServer.cs b/OpenSim/Framework/Servers/BaseOpenSimServer.cs index 845a9fe..0d93ff7 100644 --- a/OpenSim/Framework/Servers/BaseOpenSimServer.cs +++ b/OpenSim/Framework/Servers/BaseOpenSimServer.cs | |||
@@ -246,7 +246,7 @@ namespace OpenSim.Framework.Servers | |||
246 | foreach (ProcessThread t in threads) | 246 | foreach (ProcessThread t in threads) |
247 | { | 247 | { |
248 | sb.Append("ID: " + t.Id + ", TotalProcessorTime: " + t.TotalProcessorTime + ", TimeRunning: " + | 248 | sb.Append("ID: " + t.Id + ", TotalProcessorTime: " + t.TotalProcessorTime + ", TimeRunning: " + |
249 | (DateTime.Now - t.StartTime) + ", Pri: " + t.CurrentPriority + ", State: " + t.ThreadState ); | 249 | (DateTime.Now - t.StartTime) + ", Pri: " + t.CurrentPriority + ", State: " + t.ThreadState); |
250 | if (t.ThreadState == System.Diagnostics.ThreadState.Wait) | 250 | if (t.ThreadState == System.Diagnostics.ThreadState.Wait) |
251 | sb.Append(", Reason: " + t.WaitReason + Environment.NewLine); | 251 | sb.Append(", Reason: " + t.WaitReason + Environment.NewLine); |
252 | else | 252 | else |
diff --git a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs index 4b27fa2..05a2a63 100644 --- a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs +++ b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs | |||
@@ -9969,11 +9969,28 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
9969 | Utils.BytesToString(avatarNotesUpdate.Data.Notes)); | 9969 | Utils.BytesToString(avatarNotesUpdate.Data.Notes)); |
9970 | break; | 9970 | break; |
9971 | 9971 | ||
9972 | // case PacketType.AvatarInterestsUpdate: | 9972 | case PacketType.AvatarInterestsUpdate: |
9973 | // AvatarInterestsUpdatePacket avatarInterestUpdate = | 9973 | AvatarInterestsUpdatePacket avatarInterestUpdate = |
9974 | // (AvatarInterestsUpdatePacket)Pack; | 9974 | (AvatarInterestsUpdatePacket)Pack; |
9975 | // | 9975 | |
9976 | // break; | 9976 | #region Packet Session and User Check |
9977 | if (m_checkPackets) | ||
9978 | { | ||
9979 | if (avatarInterestUpdate.AgentData.SessionID != SessionId || | ||
9980 | avatarInterestUpdate.AgentData.AgentID != AgentId) | ||
9981 | break; | ||
9982 | } | ||
9983 | #endregion | ||
9984 | |||
9985 | AvatarInterestUpdate handlerAvatarInterestUpdate = OnAvatarInterestUpdate; | ||
9986 | if (handlerAvatarInterestUpdate != null) | ||
9987 | handlerAvatarInterestUpdate(this, | ||
9988 | avatarInterestUpdate.PropertiesData.WantToMask, | ||
9989 | Utils.BytesToString(avatarInterestUpdate.PropertiesData.WantToText), | ||
9990 | avatarInterestUpdate.PropertiesData.SkillsMask, | ||
9991 | Utils.BytesToString(avatarInterestUpdate.PropertiesData.SkillsText), | ||
9992 | Utils.BytesToString(avatarInterestUpdate.PropertiesData.LanguagesText)); | ||
9993 | break; | ||
9977 | 9994 | ||
9978 | case PacketType.PlacesQuery: | 9995 | case PacketType.PlacesQuery: |
9979 | PlacesQueryPacket placesQueryPacket = | 9996 | PlacesQueryPacket placesQueryPacket = |
diff --git a/OpenSim/Region/CoreModules/Asset/FlotsamAssetCache.cs b/OpenSim/Region/CoreModules/Asset/FlotsamAssetCache.cs index 4041b63..5ca4178 100644 --- a/OpenSim/Region/CoreModules/Asset/FlotsamAssetCache.cs +++ b/OpenSim/Region/CoreModules/Asset/FlotsamAssetCache.cs | |||
@@ -730,7 +730,7 @@ namespace Flotsam.RegionModules.AssetCache | |||
730 | int fileCount = GetFileCacheCount(m_CacheDirectory); | 730 | int fileCount = GetFileCacheCount(m_CacheDirectory); |
731 | m_log.InfoFormat("[FLOTSAM ASSET CACHE] File Cache : {0} assets", fileCount); | 731 | m_log.InfoFormat("[FLOTSAM ASSET CACHE] File Cache : {0} assets", fileCount); |
732 | 732 | ||
733 | foreach ( string s in Directory.GetFiles(m_CacheDirectory, "*.fac" ) ) | 733 | foreach (string s in Directory.GetFiles(m_CacheDirectory, "*.fac")) |
734 | { | 734 | { |
735 | m_log.Info("[FLOTSAM ASSET CACHE] Deep Scans were performed on the following regions:"); | 735 | m_log.Info("[FLOTSAM ASSET CACHE] Deep Scans were performed on the following regions:"); |
736 | 736 | ||
@@ -770,7 +770,7 @@ namespace Flotsam.RegionModules.AssetCache | |||
770 | int assetsCached = CacheScenes(); | 770 | int assetsCached = CacheScenes(); |
771 | m_log.InfoFormat("[FLOTSAM ASSET CACHE] Completed Scene Caching, {0} assets found.", assetsCached); | 771 | m_log.InfoFormat("[FLOTSAM ASSET CACHE] Completed Scene Caching, {0} assets found.", assetsCached); |
772 | 772 | ||
773 | }); | 773 | }); |
774 | 774 | ||
775 | break; | 775 | break; |
776 | 776 | ||
diff --git a/OpenSim/Region/Framework/Scenes/Scene.cs b/OpenSim/Region/Framework/Scenes/Scene.cs index 4c7850f..cc74f26 100644 --- a/OpenSim/Region/Framework/Scenes/Scene.cs +++ b/OpenSim/Region/Framework/Scenes/Scene.cs | |||
@@ -128,6 +128,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
128 | public CommunicationsManager CommsManager; | 128 | public CommunicationsManager CommsManager; |
129 | 129 | ||
130 | protected SceneCommunicationService m_sceneGridService; | 130 | protected SceneCommunicationService m_sceneGridService; |
131 | public bool loginsdisabled = true; | ||
131 | 132 | ||
132 | public SceneCommunicationService SceneGridService | 133 | public SceneCommunicationService SceneGridService |
133 | { | 134 | { |
@@ -1062,6 +1063,11 @@ namespace OpenSim.Region.Framework.Scenes | |||
1062 | StatsReporter.SetActiveScripts(m_sceneGraph.GetActiveScriptsCount()); | 1063 | StatsReporter.SetActiveScripts(m_sceneGraph.GetActiveScriptsCount()); |
1063 | StatsReporter.addScriptLines(m_sceneGraph.GetScriptLPS()); | 1064 | StatsReporter.addScriptLines(m_sceneGraph.GetScriptLPS()); |
1064 | } | 1065 | } |
1066 | if (loginsdisabled && (m_frame > 20)) | ||
1067 | { | ||
1068 | m_log.Debug("[REGION]: Enabling Logins"); | ||
1069 | loginsdisabled = false; | ||
1070 | } | ||
1065 | } | 1071 | } |
1066 | catch (NotImplementedException) | 1072 | catch (NotImplementedException) |
1067 | { | 1073 | { |
@@ -1110,13 +1116,13 @@ namespace OpenSim.Region.Framework.Scenes | |||
1110 | 1116 | ||
1111 | public void AddGroupTarget(SceneObjectGroup grp) | 1117 | public void AddGroupTarget(SceneObjectGroup grp) |
1112 | { | 1118 | { |
1113 | lock(m_groupsWithTargets) | 1119 | lock (m_groupsWithTargets) |
1114 | m_groupsWithTargets[grp.UUID] = grp; | 1120 | m_groupsWithTargets[grp.UUID] = grp; |
1115 | } | 1121 | } |
1116 | 1122 | ||
1117 | public void RemoveGroupTarget(SceneObjectGroup grp) | 1123 | public void RemoveGroupTarget(SceneObjectGroup grp) |
1118 | { | 1124 | { |
1119 | lock(m_groupsWithTargets) | 1125 | lock (m_groupsWithTargets) |
1120 | m_groupsWithTargets.Remove(grp.UUID); | 1126 | m_groupsWithTargets.Remove(grp.UUID); |
1121 | } | 1127 | } |
1122 | 1128 | ||
@@ -3227,6 +3233,11 @@ namespace OpenSim.Region.Framework.Scenes | |||
3227 | /// also return a reason.</returns> | 3233 | /// also return a reason.</returns> |
3228 | public bool NewUserConnection(AgentCircuitData agent, out string reason) | 3234 | public bool NewUserConnection(AgentCircuitData agent, out string reason) |
3229 | { | 3235 | { |
3236 | if (loginsdisabled) | ||
3237 | { | ||
3238 | reason = "Logins Disabled"; | ||
3239 | return false; | ||
3240 | } | ||
3230 | // Don't disable this log message - it's too helpful | 3241 | // Don't disable this log message - it's too helpful |
3231 | m_log.InfoFormat( | 3242 | m_log.InfoFormat( |
3232 | "[CONNECTION BEGIN]: Region {0} told of incoming {1} agent {2} {3} {4} (circuit code {5})", | 3243 | "[CONNECTION BEGIN]: Region {0} told of incoming {1} agent {2} {3} {4} (circuit code {5})", |
diff --git a/OpenSim/Region/Framework/Scenes/ScenePresence.cs b/OpenSim/Region/Framework/Scenes/ScenePresence.cs index 646a483..c25fa55 100644 --- a/OpenSim/Region/Framework/Scenes/ScenePresence.cs +++ b/OpenSim/Region/Framework/Scenes/ScenePresence.cs | |||
@@ -908,6 +908,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
908 | if (PhysicsActor != null) | 908 | if (PhysicsActor != null) |
909 | { | 909 | { |
910 | m_physicsActor.OnRequestTerseUpdate -= SendTerseUpdateToAllClients; | 910 | m_physicsActor.OnRequestTerseUpdate -= SendTerseUpdateToAllClients; |
911 | m_physicsActor.OnOutOfBounds -= OutOfBoundsCall; | ||
911 | m_scene.PhysicsScene.RemoveAvatar(PhysicsActor); | 912 | m_scene.PhysicsScene.RemoveAvatar(PhysicsActor); |
912 | m_physicsActor.UnSubscribeEvents(); | 913 | m_physicsActor.UnSubscribeEvents(); |
913 | m_physicsActor.OnCollisionUpdate -= PhysicsCollisionUpdate; | 914 | m_physicsActor.OnCollisionUpdate -= PhysicsCollisionUpdate; |
@@ -3410,11 +3411,22 @@ namespace OpenSim.Region.Framework.Scenes | |||
3410 | scene.AddPhysicsActorTaint(m_physicsActor); | 3411 | scene.AddPhysicsActorTaint(m_physicsActor); |
3411 | //m_physicsActor.OnRequestTerseUpdate += SendTerseUpdateToAllClients; | 3412 | //m_physicsActor.OnRequestTerseUpdate += SendTerseUpdateToAllClients; |
3412 | m_physicsActor.OnCollisionUpdate += PhysicsCollisionUpdate; | 3413 | m_physicsActor.OnCollisionUpdate += PhysicsCollisionUpdate; |
3414 | m_physicsActor.OnOutOfBounds += OutOfBoundsCall; // Called for PhysicsActors when there's something wrong | ||
3413 | m_physicsActor.SubscribeEvents(500); | 3415 | m_physicsActor.SubscribeEvents(500); |
3414 | m_physicsActor.LocalID = LocalId; | 3416 | m_physicsActor.LocalID = LocalId; |
3415 | 3417 | ||
3416 | } | 3418 | } |
3417 | 3419 | ||
3420 | private void OutOfBoundsCall(PhysicsVector pos) | ||
3421 | { | ||
3422 | //bool flying = m_physicsActor.Flying; | ||
3423 | //RemoveFromPhysicalScene(); | ||
3424 | |||
3425 | //AddToPhysicalScene(flying); | ||
3426 | if (ControllingClient != null) | ||
3427 | ControllingClient.SendAgentAlertMessage("Physics is having a problem with your avatar. You may not be able to move until you relog.",true); | ||
3428 | } | ||
3429 | |||
3418 | // Event called by the physics plugin to tell the avatar about a collision. | 3430 | // Event called by the physics plugin to tell the avatar about a collision. |
3419 | private void PhysicsCollisionUpdate(EventArgs e) | 3431 | private void PhysicsCollisionUpdate(EventArgs e) |
3420 | { | 3432 | { |
diff --git a/OpenSim/Region/OptionalModules/Agent/InternetRelayClientView/Server/IRCClientView.cs b/OpenSim/Region/OptionalModules/Agent/InternetRelayClientView/Server/IRCClientView.cs index a8acf0d..434da0a 100644 --- a/OpenSim/Region/OptionalModules/Agent/InternetRelayClientView/Server/IRCClientView.cs +++ b/OpenSim/Region/OptionalModules/Agent/InternetRelayClientView/Server/IRCClientView.cs | |||
@@ -831,7 +831,9 @@ namespace OpenSim.Region.OptionalModules.Agent.InternetRelayClientView.Server | |||
831 | public event PickInfoUpdate OnPickInfoUpdate; | 831 | public event PickInfoUpdate OnPickInfoUpdate; |
832 | public event AvatarNotesUpdate OnAvatarNotesUpdate; | 832 | public event AvatarNotesUpdate OnAvatarNotesUpdate; |
833 | public event MuteListRequest OnMuteListRequest; | 833 | public event MuteListRequest OnMuteListRequest; |
834 | public event AvatarInterestUpdate OnAvatarInterestUpdate; | ||
834 | public event PlacesQuery OnPlacesQuery; | 835 | public event PlacesQuery OnPlacesQuery; |
836 | |||
835 | #pragma warning restore 67 | 837 | #pragma warning restore 67 |
836 | 838 | ||
837 | public void SetDebugPacketLevel(int newDebug) | 839 | public void SetDebugPacketLevel(int newDebug) |
@@ -1570,6 +1572,11 @@ namespace OpenSim.Region.OptionalModules.Agent.InternetRelayClientView.Server | |||
1570 | 1572 | ||
1571 | } | 1573 | } |
1572 | 1574 | ||
1575 | public void SendAvatarInterestUpdate(IClientAPI client, uint wantmask, string wanttext, uint skillsmask, string skillstext, string languages) | ||
1576 | { | ||
1577 | |||
1578 | } | ||
1579 | |||
1573 | public void SendParcelDwellReply(int localID, UUID parcelID, float dwell) | 1580 | public void SendParcelDwellReply(int localID, UUID parcelID, float dwell) |
1574 | { | 1581 | { |
1575 | 1582 | ||
diff --git a/OpenSim/Region/Physics/Manager/IMesher.cs b/OpenSim/Region/Physics/Manager/IMesher.cs index ac14292..1a8c948 100644 --- a/OpenSim/Region/Physics/Manager/IMesher.cs +++ b/OpenSim/Region/Physics/Manager/IMesher.cs | |||
@@ -48,7 +48,7 @@ namespace OpenSim.Region.Physics.Manager | |||
48 | int[] getIndexListAsIntLocked(); | 48 | int[] getIndexListAsIntLocked(); |
49 | float[] getVertexListAsFloatLocked(); | 49 | float[] getVertexListAsFloatLocked(); |
50 | void getIndexListAsPtrToIntArray(out IntPtr indices, out int triStride, out int indexCount); | 50 | void getIndexListAsPtrToIntArray(out IntPtr indices, out int triStride, out int indexCount); |
51 | void getVertexListAsPtrToFloatArray( out IntPtr vertexList, out int vertexStride, out int vertexCount ); | 51 | void getVertexListAsPtrToFloatArray(out IntPtr vertexList, out int vertexStride, out int vertexCount); |
52 | void releaseSourceMeshData(); | 52 | void releaseSourceMeshData(); |
53 | void releasePinned(); | 53 | void releasePinned(); |
54 | void Append(IMesh newMesh); | 54 | void Append(IMesh newMesh); |
diff --git a/OpenSim/Region/Physics/Meshing/Mesh.cs b/OpenSim/Region/Physics/Meshing/Mesh.cs index 94d926a..4c3cf33 100644 --- a/OpenSim/Region/Physics/Meshing/Mesh.cs +++ b/OpenSim/Region/Physics/Meshing/Mesh.cs | |||
@@ -70,7 +70,7 @@ namespace OpenSim.Region.Physics.Meshing | |||
70 | throw new NotSupportedException("Attempt to Add to a pinned Mesh"); | 70 | throw new NotSupportedException("Attempt to Add to a pinned Mesh"); |
71 | // If a vertex of the triangle is not yet in the vertices list, | 71 | // If a vertex of the triangle is not yet in the vertices list, |
72 | // add it and set its index to the current index count | 72 | // add it and set its index to the current index count |
73 | if( !m_vertices.ContainsKey(triangle.v1) ) | 73 | if (!m_vertices.ContainsKey(triangle.v1)) |
74 | m_vertices[triangle.v1] = m_vertices.Count; | 74 | m_vertices[triangle.v1] = m_vertices.Count; |
75 | if (!m_vertices.ContainsKey(triangle.v2)) | 75 | if (!m_vertices.ContainsKey(triangle.v2)) |
76 | m_vertices[triangle.v2] = m_vertices.Count; | 76 | m_vertices[triangle.v2] = m_vertices.Count; |
@@ -153,7 +153,7 @@ namespace OpenSim.Region.Physics.Meshing | |||
153 | 153 | ||
154 | private float[] getVertexListAsFloat() | 154 | private float[] getVertexListAsFloat() |
155 | { | 155 | { |
156 | if(m_vertices == null) | 156 | if (m_vertices == null) |
157 | throw new NotSupportedException(); | 157 | throw new NotSupportedException(); |
158 | float[] result = new float[m_vertices.Count * 3]; | 158 | float[] result = new float[m_vertices.Count * 3]; |
159 | foreach (KeyValuePair<Vertex, int> kvp in m_vertices) | 159 | foreach (KeyValuePair<Vertex, int> kvp in m_vertices) |
@@ -169,7 +169,7 @@ namespace OpenSim.Region.Physics.Meshing | |||
169 | 169 | ||
170 | public float[] getVertexListAsFloatLocked() | 170 | public float[] getVertexListAsFloatLocked() |
171 | { | 171 | { |
172 | if( m_pinnedVertexes.IsAllocated ) | 172 | if (m_pinnedVertexes.IsAllocated) |
173 | return (float[])(m_pinnedVertexes.Target); | 173 | return (float[])(m_pinnedVertexes.Target); |
174 | 174 | ||
175 | float[] result = getVertexListAsFloat(); | 175 | float[] result = getVertexListAsFloat(); |
diff --git a/OpenSim/Region/Physics/OdePlugin/ODECharacter.cs b/OpenSim/Region/Physics/OdePlugin/ODECharacter.cs index bd81d50..1fff846 100644 --- a/OpenSim/Region/Physics/OdePlugin/ODECharacter.cs +++ b/OpenSim/Region/Physics/OdePlugin/ODECharacter.cs | |||
@@ -1105,7 +1105,19 @@ namespace OpenSim.Region.Physics.OdePlugin | |||
1105 | public void UpdatePositionAndVelocity() | 1105 | public void UpdatePositionAndVelocity() |
1106 | { | 1106 | { |
1107 | // no lock; called from Simulate() -- if you call this from elsewhere, gotta lock or do Monitor.Enter/Exit! | 1107 | // no lock; called from Simulate() -- if you call this from elsewhere, gotta lock or do Monitor.Enter/Exit! |
1108 | d.Vector3 vec = d.BodyGetPosition(Body); | 1108 | d.Vector3 vec; |
1109 | try | ||
1110 | { | ||
1111 | vec = d.BodyGetPosition(Body); | ||
1112 | } | ||
1113 | catch (NullReferenceException) | ||
1114 | { | ||
1115 | _parent_scene.BadCharacter(this); | ||
1116 | vec = new d.Vector3(_position.X, _position.Y, _position.Z); | ||
1117 | base.RaiseOutOfBounds(_position); // Tells ScenePresence that there's a problem! | ||
1118 | m_log.WarnFormat("[ODEPLUGIN]: Avatar Null reference for Avatar: {0}", m_name); | ||
1119 | } | ||
1120 | |||
1109 | 1121 | ||
1110 | // kluge to keep things in bounds. ODE lets dead avatars drift away (they should be removed!) | 1122 | // kluge to keep things in bounds. ODE lets dead avatars drift away (they should be removed!) |
1111 | if (vec.X < 0.0f) vec.X = 0.0f; | 1123 | if (vec.X < 0.0f) vec.X = 0.0f; |
@@ -1137,7 +1149,16 @@ namespace OpenSim.Region.Physics.OdePlugin | |||
1137 | else | 1149 | else |
1138 | { | 1150 | { |
1139 | m_lastUpdateSent = false; | 1151 | m_lastUpdateSent = false; |
1140 | vec = d.BodyGetLinearVel(Body); | 1152 | try |
1153 | { | ||
1154 | vec = d.BodyGetLinearVel(Body); | ||
1155 | } | ||
1156 | catch (NullReferenceException) | ||
1157 | { | ||
1158 | vec.X = _velocity.X; | ||
1159 | vec.Y = _velocity.Y; | ||
1160 | vec.Z = _velocity.Z; | ||
1161 | } | ||
1141 | _velocity.X = (vec.X); | 1162 | _velocity.X = (vec.X); |
1142 | _velocity.Y = (vec.Y); | 1163 | _velocity.Y = (vec.Y); |
1143 | 1164 | ||
diff --git a/OpenSim/Region/Physics/OdePlugin/ODEPrim.cs b/OpenSim/Region/Physics/OdePlugin/ODEPrim.cs index 7840ae3..864ea80 100644 --- a/OpenSim/Region/Physics/OdePlugin/ODEPrim.cs +++ b/OpenSim/Region/Physics/OdePlugin/ODEPrim.cs | |||
@@ -827,8 +827,8 @@ namespace OpenSim.Region.Physics.OdePlugin | |||
827 | IntPtr vertices, indices; | 827 | IntPtr vertices, indices; |
828 | int vertexCount, indexCount; | 828 | int vertexCount, indexCount; |
829 | int vertexStride, triStride; | 829 | int vertexStride, triStride; |
830 | mesh.getVertexListAsPtrToFloatArray( out vertices, out vertexStride, out vertexCount ); // Note, that vertices are fixed in unmanaged heap | 830 | mesh.getVertexListAsPtrToFloatArray(out vertices, out vertexStride, out vertexCount); // Note, that vertices are fixed in unmanaged heap |
831 | mesh.getIndexListAsPtrToIntArray( out indices, out triStride, out indexCount ); // Also fixed, needs release after usage | 831 | mesh.getIndexListAsPtrToIntArray(out indices, out triStride, out indexCount); // Also fixed, needs release after usage |
832 | 832 | ||
833 | mesh.releaseSourceMeshData(); // free up the original mesh data to save memory | 833 | mesh.releaseSourceMeshData(); // free up the original mesh data to save memory |
834 | 834 | ||
diff --git a/OpenSim/Region/Physics/OdePlugin/OdePlugin.cs b/OpenSim/Region/Physics/OdePlugin/OdePlugin.cs index 78831f8..9429544 100644 --- a/OpenSim/Region/Physics/OdePlugin/OdePlugin.cs +++ b/OpenSim/Region/Physics/OdePlugin/OdePlugin.cs | |||
@@ -243,6 +243,7 @@ namespace OpenSim.Region.Physics.OdePlugin | |||
243 | private readonly HashSet<OdeCharacter> _taintedActors = new HashSet<OdeCharacter>(); | 243 | private readonly HashSet<OdeCharacter> _taintedActors = new HashSet<OdeCharacter>(); |
244 | private readonly List<d.ContactGeom> _perloopContact = new List<d.ContactGeom>(); | 244 | private readonly List<d.ContactGeom> _perloopContact = new List<d.ContactGeom>(); |
245 | private readonly List<PhysicsActor> _collisionEventPrim = new List<PhysicsActor>(); | 245 | private readonly List<PhysicsActor> _collisionEventPrim = new List<PhysicsActor>(); |
246 | private readonly HashSet<OdeCharacter> _badCharacter = new HashSet<OdeCharacter>(); | ||
246 | public Dictionary<IntPtr, String> geom_name_map = new Dictionary<IntPtr, String>(); | 247 | public Dictionary<IntPtr, String> geom_name_map = new Dictionary<IntPtr, String>(); |
247 | public Dictionary<IntPtr, PhysicsActor> actor_name_map = new Dictionary<IntPtr, PhysicsActor>(); | 248 | public Dictionary<IntPtr, PhysicsActor> actor_name_map = new Dictionary<IntPtr, PhysicsActor>(); |
248 | private bool m_NINJA_physics_joints_enabled = false; | 249 | private bool m_NINJA_physics_joints_enabled = false; |
@@ -1678,6 +1679,14 @@ namespace OpenSim.Region.Physics.OdePlugin | |||
1678 | } | 1679 | } |
1679 | } | 1680 | } |
1680 | } | 1681 | } |
1682 | public void BadCharacter(OdeCharacter chr) | ||
1683 | { | ||
1684 | lock (_badCharacter) | ||
1685 | { | ||
1686 | if (!_badCharacter.Contains(chr)) | ||
1687 | _badCharacter.Add(chr); | ||
1688 | } | ||
1689 | } | ||
1681 | 1690 | ||
1682 | public override void RemoveAvatar(PhysicsActor actor) | 1691 | public override void RemoveAvatar(PhysicsActor actor) |
1683 | { | 1692 | { |
@@ -2987,6 +2996,18 @@ namespace OpenSim.Region.Physics.OdePlugin | |||
2987 | } | 2996 | } |
2988 | } | 2997 | } |
2989 | 2998 | ||
2999 | lock (_badCharacter) | ||
3000 | { | ||
3001 | if (_badCharacter.Count > 0) | ||
3002 | { | ||
3003 | foreach (OdeCharacter chr in _badCharacter) | ||
3004 | { | ||
3005 | RemoveCharacter(chr); | ||
3006 | } | ||
3007 | _badCharacter.Clear(); | ||
3008 | } | ||
3009 | } | ||
3010 | |||
2990 | lock (_activeprims) | 3011 | lock (_activeprims) |
2991 | { | 3012 | { |
2992 | //if (timeStep < 0.2f) | 3013 | //if (timeStep < 0.2f) |
@@ -3792,7 +3813,7 @@ namespace OpenSim.Region.Physics.OdePlugin | |||
3792 | } | 3813 | } |
3793 | 3814 | ||
3794 | public void start(int unused) | 3815 | public void start(int unused) |
3795 | { | 3816 | { |
3796 | ds.SetViewpoint(ref xyz, ref hpr); | 3817 | ds.SetViewpoint(ref xyz, ref hpr); |
3797 | } | 3818 | } |
3798 | #endif | 3819 | #endif |
diff --git a/OpenSim/Region/ScriptEngine/Shared/Instance/ScriptInstance.cs b/OpenSim/Region/ScriptEngine/Shared/Instance/ScriptInstance.cs index 97166cf..2b858ec 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Instance/ScriptInstance.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Instance/ScriptInstance.cs | |||
@@ -353,15 +353,14 @@ namespace OpenSim.Region.ScriptEngine.Shared.Instance | |||
353 | // m_log.ErrorFormat("[Script] Unable to load script state from xml: {0}\n"+e.ToString(), xml); | 353 | // m_log.ErrorFormat("[Script] Unable to load script state from xml: {0}\n"+e.ToString(), xml); |
354 | } | 354 | } |
355 | } | 355 | } |
356 | else | 356 | // else |
357 | { | 357 | // { |
358 | ScenePresence presence = m_Engine.World.GetScenePresence(part.OwnerID); | 358 | // ScenePresence presence = m_Engine.World.GetScenePresence(part.OwnerID); |
359 | 359 | ||
360 | if (presence != null && (!postOnRez)) | 360 | // if (presence != null && (!postOnRez)) |
361 | presence.ControllingClient.SendAgentAlertMessage("Compile successful", false); | 361 | // presence.ControllingClient.SendAgentAlertMessage("Compile successful", false); |
362 | 362 | ||
363 | // // m_log.ErrorFormat("[Script] Unable to load script state, file not found"); | 363 | // } |
364 | } | ||
365 | } | 364 | } |
366 | 365 | ||
367 | public void Init() | 366 | public void Init() |
diff --git a/OpenSim/Region/ScriptEngine/XEngine/XEngine.cs b/OpenSim/Region/ScriptEngine/XEngine/XEngine.cs index 847da8c..7b19ce3 100644 --- a/OpenSim/Region/ScriptEngine/XEngine/XEngine.cs +++ b/OpenSim/Region/ScriptEngine/XEngine/XEngine.cs | |||
@@ -604,9 +604,6 @@ namespace OpenSim.Region.ScriptEngine.XEngine | |||
604 | 604 | ||
605 | if (warnings != null && warnings.Length != 0) | 605 | if (warnings != null && warnings.Length != 0) |
606 | { | 606 | { |
607 | if (presence != null && (!postOnRez)) | ||
608 | presence.ControllingClient.SendAgentAlertMessage("Script saved with warnings, check debug window!", false); | ||
609 | |||
610 | foreach (string warning in warnings) | 607 | foreach (string warning in warnings) |
611 | { | 608 | { |
612 | try | 609 | try |
@@ -615,10 +612,17 @@ namespace OpenSim.Region.ScriptEngine.XEngine | |||
615 | string text = "Warning:\n" + warning; | 612 | string text = "Warning:\n" + warning; |
616 | if (text.Length > 1000) | 613 | if (text.Length > 1000) |
617 | text = text.Substring(0, 1000); | 614 | text = text.Substring(0, 1000); |
618 | World.SimChat(Utils.StringToBytes(text), | 615 | if (!ShowScriptSaveResponse(item.OwnerID, |
619 | ChatTypeEnum.DebugChannel, 2147483647, | 616 | assetID, text, true)) |
620 | part.AbsolutePosition, | 617 | { |
621 | part.Name, part.UUID, false); | 618 | if (presence != null && (!postOnRez)) |
619 | presence.ControllingClient.SendAgentAlertMessage("Script saved with warnings, check debug window!", false); | ||
620 | |||
621 | World.SimChat(Utils.StringToBytes(text), | ||
622 | ChatTypeEnum.DebugChannel, 2147483647, | ||
623 | part.AbsolutePosition, | ||
624 | part.Name, part.UUID, false); | ||
625 | } | ||
622 | } | 626 | } |
623 | catch (Exception e2) // LEGIT: User Scripting | 627 | catch (Exception e2) // LEGIT: User Scripting |
624 | { | 628 | { |
@@ -634,8 +638,6 @@ namespace OpenSim.Region.ScriptEngine.XEngine | |||
634 | } | 638 | } |
635 | catch (Exception e) | 639 | catch (Exception e) |
636 | { | 640 | { |
637 | if (presence != null && (!postOnRez)) | ||
638 | presence.ControllingClient.SendAgentAlertMessage("Script saved with errors, check debug window!", false); | ||
639 | try | 641 | try |
640 | { | 642 | { |
641 | // DISPLAY ERROR INWORLD | 643 | // DISPLAY ERROR INWORLD |
@@ -645,10 +647,16 @@ namespace OpenSim.Region.ScriptEngine.XEngine | |||
645 | string text = "Error compiling script '" + item.Name + "':\n" + e.Message.ToString(); | 647 | string text = "Error compiling script '" + item.Name + "':\n" + e.Message.ToString(); |
646 | if (text.Length > 1000) | 648 | if (text.Length > 1000) |
647 | text = text.Substring(0, 1000); | 649 | text = text.Substring(0, 1000); |
648 | World.SimChat(Utils.StringToBytes(text), | 650 | if (!ShowScriptSaveResponse(item.OwnerID, |
649 | ChatTypeEnum.DebugChannel, 2147483647, | 651 | assetID, text, false)) |
650 | part.AbsolutePosition, | 652 | { |
651 | part.Name, part.UUID, false); | 653 | if (presence != null && (!postOnRez)) |
654 | presence.ControllingClient.SendAgentAlertMessage("Script saved with errors, check debug window!", false); | ||
655 | World.SimChat(Utils.StringToBytes(text), | ||
656 | ChatTypeEnum.DebugChannel, 2147483647, | ||
657 | part.AbsolutePosition, | ||
658 | part.Name, part.UUID, false); | ||
659 | } | ||
652 | } | 660 | } |
653 | catch (Exception e2) // LEGIT: User Scripting | 661 | catch (Exception e2) // LEGIT: User Scripting |
654 | { | 662 | { |
@@ -732,6 +740,12 @@ namespace OpenSim.Region.ScriptEngine.XEngine | |||
732 | m_log.DebugFormat("[XEngine] Loaded script {0}.{1}, script UUID {2}, prim UUID {3} @ {4}", | 740 | m_log.DebugFormat("[XEngine] Loaded script {0}.{1}, script UUID {2}, prim UUID {3} @ {4}", |
733 | part.ParentGroup.RootPart.Name, item.Name, assetID, part.UUID, part.ParentGroup.RootPart.AbsolutePosition.ToString()); | 741 | part.ParentGroup.RootPart.Name, item.Name, assetID, part.UUID, part.ParentGroup.RootPart.AbsolutePosition.ToString()); |
734 | 742 | ||
743 | if (presence != null) | ||
744 | { | ||
745 | ShowScriptSaveResponse(item.OwnerID, | ||
746 | assetID, "Compile successful", true); | ||
747 | } | ||
748 | |||
735 | instance.AppDomain = appDomain; | 749 | instance.AppDomain = appDomain; |
736 | instance.LineMap = linemap; | 750 | instance.LineMap = linemap; |
737 | 751 | ||
@@ -1250,5 +1264,10 @@ namespace OpenSim.Region.ScriptEngine.XEngine | |||
1250 | 1264 | ||
1251 | return instance.CanBeDeleted(); | 1265 | return instance.CanBeDeleted(); |
1252 | } | 1266 | } |
1267 | |||
1268 | private bool ShowScriptSaveResponse(UUID ownerID, UUID assetID, string text, bool compiled) | ||
1269 | { | ||
1270 | return false; | ||
1271 | } | ||
1253 | } | 1272 | } |
1254 | } | 1273 | } |
diff --git a/OpenSim/Tests/Common/Mock/TestLandChannel.cs b/OpenSim/Tests/Common/Mock/TestLandChannel.cs index ed30827..be28c27 100644 --- a/OpenSim/Tests/Common/Mock/TestLandChannel.cs +++ b/OpenSim/Tests/Common/Mock/TestLandChannel.cs | |||
@@ -46,14 +46,14 @@ namespace OpenSim.Tests.Common.Mock | |||
46 | m_scene = scene; | 46 | m_scene = scene; |
47 | } | 47 | } |
48 | 48 | ||
49 | public List<ILandObject> ParcelsNearPoint(Vector3 position) | 49 | public List<ILandObject> ParcelsNearPoint(Vector3 position) |
50 | { | 50 | { |
51 | return new List<ILandObject>(); | 51 | return new List<ILandObject>(); |
52 | } | 52 | } |
53 | 53 | ||
54 | public List<ILandObject> AllParcels() | 54 | public List<ILandObject> AllParcels() |
55 | { | 55 | { |
56 | return new List<ILandObject>(); | 56 | return new List<ILandObject>(); |
57 | } | 57 | } |
58 | 58 | ||
59 | protected ILandObject GetNoLand() | 59 | protected ILandObject GetNoLand() |
@@ -63,18 +63,18 @@ namespace OpenSim.Tests.Common.Mock | |||
63 | return obj; | 63 | return obj; |
64 | } | 64 | } |
65 | 65 | ||
66 | public ILandObject GetLandObject(int x, int y) | 66 | public ILandObject GetLandObject(int x, int y) |
67 | { | 67 | { |
68 | return GetNoLand(); | 68 | return GetNoLand(); |
69 | } | 69 | } |
70 | 70 | ||
71 | public ILandObject GetLandObject(int localID) | 71 | public ILandObject GetLandObject(int localID) |
72 | { | 72 | { |
73 | return GetNoLand(); | 73 | return GetNoLand(); |
74 | } | 74 | } |
75 | 75 | ||
76 | public ILandObject GetLandObject(float x, float y) | 76 | public ILandObject GetLandObject(float x, float y) |
77 | { | 77 | { |
78 | return GetNoLand(); | 78 | return GetNoLand(); |
79 | } | 79 | } |
80 | 80 | ||