diff options
author | Teravus Ovares | 2008-03-30 08:01:47 +0000 |
---|---|---|
committer | Teravus Ovares | 2008-03-30 08:01:47 +0000 |
commit | fd2caf5f1673ad14702d89db9804f841c5cb861a (patch) | |
tree | 18fd4ae03180b14df41f93544afa0cc9d5ec5309 /OpenSim/Framework | |
parent | * Stop the grid inventory service sending all folder and item details twice (diff) | |
download | opensim-SC-fd2caf5f1673ad14702d89db9804f841c5cb861a.zip opensim-SC-fd2caf5f1673ad14702d89db9804f841c5cb861a.tar.gz opensim-SC-fd2caf5f1673ad14702d89db9804f841c5cb861a.tar.bz2 opensim-SC-fd2caf5f1673ad14702d89db9804f841c5cb861a.tar.xz |
This update has good news and bad news, first the bad.
* This update breaks inter-region communications, sorry.
* You will need to run prebuild.
Next, the good;
* This update solves the unexpected binary element when Linux simulators inform windows simulators and vice versa. So Linux Simulators and Windows simulators are 100% compatible again.
* This update introduces an Integer in the prim crossing method to tell the receiving simulator which XML method to use to load the prim that crossed the border. If the receiving prim doesn't support the method, the prim crossing fails and no prims are lost.
That being said, it's best to update all your simulators to this revision at once.
Diffstat (limited to '')
-rw-r--r-- | OpenSim/Framework/Communications/IInterRegionCommunications.cs | 2 | ||||
-rw-r--r-- | OpenSim/Framework/IClientAPI.cs | 8 | ||||
-rw-r--r-- | OpenSim/Framework/IRegionCommsListener.cs | 2 | ||||
-rw-r--r-- | OpenSim/Framework/RegionCommsListener.cs | 4 | ||||
-rw-r--r-- | OpenSim/Framework/RegionInfo.cs | 17 | ||||
-rw-r--r-- | OpenSim/Framework/RegionUpData.cs | 40 |
6 files changed, 69 insertions, 4 deletions
diff --git a/OpenSim/Framework/Communications/IInterRegionCommunications.cs b/OpenSim/Framework/Communications/IInterRegionCommunications.cs index e7e1737..f018dd6 100644 --- a/OpenSim/Framework/Communications/IInterRegionCommunications.cs +++ b/OpenSim/Framework/Communications/IInterRegionCommunications.cs | |||
@@ -35,7 +35,7 @@ namespace OpenSim.Framework.Communications | |||
35 | bool Available { get; } | 35 | bool Available { get; } |
36 | void CheckRegion(string address, uint port); | 36 | void CheckRegion(string address, uint port); |
37 | bool InformRegionOfChildAgent(ulong regionHandle, AgentCircuitData agentData); | 37 | bool InformRegionOfChildAgent(ulong regionHandle, AgentCircuitData agentData); |
38 | bool InformRegionOfPrimCrossing(ulong regionHandle, LLUUID primID, string objData); | 38 | bool InformRegionOfPrimCrossing(ulong regionHandle, LLUUID primID, string objData, int XMLMethod); |
39 | bool RegionUp(SearializableRegionInfo region, ulong regionhandle); | 39 | bool RegionUp(SearializableRegionInfo region, ulong regionhandle); |
40 | bool ChildAgentUpdate(ulong regionHandle, ChildAgentDataUpdate cAgentData); | 40 | bool ChildAgentUpdate(ulong regionHandle, ChildAgentDataUpdate cAgentData); |
41 | 41 | ||
diff --git a/OpenSim/Framework/IClientAPI.cs b/OpenSim/Framework/IClientAPI.cs index 518659f..9dd17f9 100644 --- a/OpenSim/Framework/IClientAPI.cs +++ b/OpenSim/Framework/IClientAPI.cs | |||
@@ -302,6 +302,13 @@ namespace OpenSim.Framework | |||
302 | 302 | ||
303 | public delegate void ObjectDuplicate(uint localID, LLVector3 offset, uint dupeFlags, LLUUID AgentID, LLUUID GroupID); | 303 | public delegate void ObjectDuplicate(uint localID, LLVector3 offset, uint dupeFlags, LLUUID AgentID, LLUUID GroupID); |
304 | 304 | ||
305 | public delegate void ObjectDuplicateOnRay(uint localID, uint dupeFlags, LLUUID AgentID, LLUUID GroupID, | ||
306 | LLUUID RayTargetObj, LLVector3 RayEnd, LLVector3 RayStart, | ||
307 | bool BypassRaycast, bool RayEndIsIntersection, bool CopyCenters, bool CopyRotates); | ||
308 | |||
309 | |||
310 | |||
311 | |||
305 | public delegate void StatusChange(bool status); | 312 | public delegate void StatusChange(bool status); |
306 | 313 | ||
307 | public delegate void NewAvatar(IClientAPI remoteClient, LLUUID agentID, bool status); | 314 | public delegate void NewAvatar(IClientAPI remoteClient, LLUUID agentID, bool status); |
@@ -463,6 +470,7 @@ namespace OpenSim.Framework | |||
463 | event GodKickUser OnGodKickUser; | 470 | event GodKickUser OnGodKickUser; |
464 | 471 | ||
465 | event ObjectDuplicate OnObjectDuplicate; | 472 | event ObjectDuplicate OnObjectDuplicate; |
473 | event ObjectDuplicateOnRay OnObjectDuplicateOnRay; | ||
466 | event UpdateVector OnGrabObject; | 474 | event UpdateVector OnGrabObject; |
467 | event ObjectSelect OnDeGrabObject; | 475 | event ObjectSelect OnDeGrabObject; |
468 | event MoveObject OnGrabUpdate; | 476 | event MoveObject OnGrabUpdate; |
diff --git a/OpenSim/Framework/IRegionCommsListener.cs b/OpenSim/Framework/IRegionCommsListener.cs index c10353b..7726634 100644 --- a/OpenSim/Framework/IRegionCommsListener.cs +++ b/OpenSim/Framework/IRegionCommsListener.cs | |||
@@ -32,7 +32,7 @@ namespace OpenSim.Framework | |||
32 | { | 32 | { |
33 | public delegate void ExpectUserDelegate(ulong regionHandle, AgentCircuitData agent); | 33 | public delegate void ExpectUserDelegate(ulong regionHandle, AgentCircuitData agent); |
34 | 34 | ||
35 | public delegate void ExpectPrimDelegate(ulong regionHandle, LLUUID primID, string objData); | 35 | public delegate bool ExpectPrimDelegate(ulong regionHandle, LLUUID primID, string objData, int XMLMethod); |
36 | 36 | ||
37 | public delegate void UpdateNeighbours(List<RegionInfo> neighbours); | 37 | public delegate void UpdateNeighbours(List<RegionInfo> neighbours); |
38 | 38 | ||
diff --git a/OpenSim/Framework/RegionCommsListener.cs b/OpenSim/Framework/RegionCommsListener.cs index 13d1d28..ee2079b 100644 --- a/OpenSim/Framework/RegionCommsListener.cs +++ b/OpenSim/Framework/RegionCommsListener.cs | |||
@@ -78,12 +78,12 @@ namespace OpenSim.Framework | |||
78 | } | 78 | } |
79 | 79 | ||
80 | 80 | ||
81 | public virtual bool TriggerExpectPrim(ulong regionHandle, LLUUID primID, string objData) | 81 | public virtual bool TriggerExpectPrim(ulong regionHandle, LLUUID primID, string objData, int XMLMethod) |
82 | { | 82 | { |
83 | handlerExpectPrim = OnExpectPrim; | 83 | handlerExpectPrim = OnExpectPrim; |
84 | if (handlerExpectPrim != null) | 84 | if (handlerExpectPrim != null) |
85 | { | 85 | { |
86 | handlerExpectPrim(regionHandle, primID, objData); | 86 | handlerExpectPrim(regionHandle, primID, objData, XMLMethod); |
87 | return true; | 87 | return true; |
88 | } | 88 | } |
89 | return false; | 89 | return false; |
diff --git a/OpenSim/Framework/RegionInfo.cs b/OpenSim/Framework/RegionInfo.cs index fc6da57..095740d 100644 --- a/OpenSim/Framework/RegionInfo.cs +++ b/OpenSim/Framework/RegionInfo.cs | |||
@@ -101,6 +101,12 @@ namespace OpenSim.Framework | |||
101 | public bool m_allow_alternate_ports; | 101 | public bool m_allow_alternate_ports; |
102 | 102 | ||
103 | protected string m_serverURI; | 103 | protected string m_serverURI; |
104 | |||
105 | public int getInternalEndPointPort() | ||
106 | { | ||
107 | return m_internalEndPoint.Port; | ||
108 | } | ||
109 | |||
104 | public string ServerURI | 110 | public string ServerURI |
105 | { | 111 | { |
106 | get | 112 | get |
@@ -279,6 +285,17 @@ namespace OpenSim.Framework | |||
279 | RegionID = LLUUID.Zero; | 285 | RegionID = LLUUID.Zero; |
280 | ServerURI = ConvertFrom.ServerURI; | 286 | ServerURI = ConvertFrom.ServerURI; |
281 | } | 287 | } |
288 | public int getInternalEndPointPort() | ||
289 | { | ||
290 | return m_internalEndPoint.Port; | ||
291 | } | ||
292 | public void SetEndPoint(string ipaddr, int port) | ||
293 | { | ||
294 | IPAddress tmpIP = IPAddress.Parse(ipaddr); | ||
295 | IPEndPoint tmpEPE= new IPEndPoint(tmpIP, port); | ||
296 | m_internalEndPoint = tmpEPE; | ||
297 | |||
298 | } | ||
282 | 299 | ||
283 | //not in use, should swap to nini though. | 300 | //not in use, should swap to nini though. |
284 | public void LoadFromNiniSource(IConfigSource source) | 301 | public void LoadFromNiniSource(IConfigSource source) |
diff --git a/OpenSim/Framework/RegionUpData.cs b/OpenSim/Framework/RegionUpData.cs new file mode 100644 index 0000000..dbb805f --- /dev/null +++ b/OpenSim/Framework/RegionUpData.cs | |||
@@ -0,0 +1,40 @@ | |||
1 | using System; | ||
2 | using System.Collections.Generic; | ||
3 | using System.Text; | ||
4 | |||
5 | namespace OpenSim.Framework | ||
6 | { | ||
7 | [Serializable] | ||
8 | public class RegionUpData | ||
9 | { | ||
10 | private uint m_X = 0; | ||
11 | private uint m_Y = 0; | ||
12 | private string m_ipaddr = ""; | ||
13 | private int m_port = 0; | ||
14 | public RegionUpData(uint X, uint Y, string ipaddr, int port) | ||
15 | { | ||
16 | m_X = X; | ||
17 | m_Y = Y; | ||
18 | m_ipaddr = ipaddr; | ||
19 | m_port = port; | ||
20 | } | ||
21 | |||
22 | public uint X | ||
23 | { | ||
24 | get { return m_X; } | ||
25 | } | ||
26 | public uint Y | ||
27 | { | ||
28 | get { return m_Y; } | ||
29 | } | ||
30 | public string IPADDR | ||
31 | { | ||
32 | get { return m_ipaddr; } | ||
33 | } | ||
34 | public int PORT | ||
35 | { | ||
36 | get { return m_port; } | ||
37 | } | ||
38 | |||
39 | } | ||
40 | } | ||