diff options
author | Melanie | 2012-02-23 01:40:30 +0000 |
---|---|---|
committer | Melanie | 2012-02-23 01:40:30 +0000 |
commit | 1dfc9902649bfb4f02340644a0589fe139a3322a (patch) | |
tree | 631a932e9317c50d96c7dbaa91ffc675421a9b48 /OpenSim/Services | |
parent | Restore the taskItem null check that I accidentally blatted in 5397a6d (diff) | |
download | opensim-SC_OLD-1dfc9902649bfb4f02340644a0589fe139a3322a.zip opensim-SC_OLD-1dfc9902649bfb4f02340644a0589fe139a3322a.tar.gz opensim-SC_OLD-1dfc9902649bfb4f02340644a0589fe139a3322a.tar.bz2 opensim-SC_OLD-1dfc9902649bfb4f02340644a0589fe139a3322a.tar.xz |
Add a position parameter to region crossing of objects. This avoids the
potential bad update that places an object at the opposite side of the
origin sim for a moment before actually crossing it. Especially important in
grids like OSG where lag between sims is high.
Diffstat (limited to 'OpenSim/Services')
-rw-r--r-- | OpenSim/Services/Connectors/Simulation/SimulationServiceConnector.cs | 3 | ||||
-rw-r--r-- | OpenSim/Services/Interfaces/ISimulationService.cs | 2 |
2 files changed, 3 insertions, 2 deletions
diff --git a/OpenSim/Services/Connectors/Simulation/SimulationServiceConnector.cs b/OpenSim/Services/Connectors/Simulation/SimulationServiceConnector.cs index 65f01b3..cb003d1 100644 --- a/OpenSim/Services/Connectors/Simulation/SimulationServiceConnector.cs +++ b/OpenSim/Services/Connectors/Simulation/SimulationServiceConnector.cs | |||
@@ -408,7 +408,7 @@ namespace OpenSim.Services.Connectors.Simulation | |||
408 | /// <summary> | 408 | /// <summary> |
409 | /// | 409 | /// |
410 | /// </summary> | 410 | /// </summary> |
411 | public bool CreateObject(GridRegion destination, ISceneObject sog, bool isLocalCall) | 411 | public bool CreateObject(GridRegion destination, Vector3 newPosition, ISceneObject sog, bool isLocalCall) |
412 | { | 412 | { |
413 | // m_log.DebugFormat("[REMOTE SIMULATION CONNECTOR]: CreateObject start"); | 413 | // m_log.DebugFormat("[REMOTE SIMULATION CONNECTOR]: CreateObject start"); |
414 | 414 | ||
@@ -421,6 +421,7 @@ namespace OpenSim.Services.Connectors.Simulation | |||
421 | args["sog"] = OSD.FromString(sog.ToXml2()); | 421 | args["sog"] = OSD.FromString(sog.ToXml2()); |
422 | args["extra"] = OSD.FromString(sog.ExtraToXmlString()); | 422 | args["extra"] = OSD.FromString(sog.ExtraToXmlString()); |
423 | args["modified"] = OSD.FromBoolean(sog.HasGroupChanged); | 423 | args["modified"] = OSD.FromBoolean(sog.HasGroupChanged); |
424 | args["new_position"] = newPosition.ToString(); | ||
424 | 425 | ||
425 | string state = sog.GetStateSnapshot(); | 426 | string state = sog.GetStateSnapshot(); |
426 | if (state.Length > 0) | 427 | if (state.Length > 0) |
diff --git a/OpenSim/Services/Interfaces/ISimulationService.cs b/OpenSim/Services/Interfaces/ISimulationService.cs index 5f9ce6d..36fd6fc 100644 --- a/OpenSim/Services/Interfaces/ISimulationService.cs +++ b/OpenSim/Services/Interfaces/ISimulationService.cs | |||
@@ -98,7 +98,7 @@ namespace OpenSim.Services.Interfaces | |||
98 | /// <param name="sog"></param> | 98 | /// <param name="sog"></param> |
99 | /// <param name="isLocalCall"></param> | 99 | /// <param name="isLocalCall"></param> |
100 | /// <returns></returns> | 100 | /// <returns></returns> |
101 | bool CreateObject(GridRegion destination, ISceneObject sog, bool isLocalCall); | 101 | bool CreateObject(GridRegion destination, Vector3 newPosition, ISceneObject sog, bool isLocalCall); |
102 | 102 | ||
103 | /// <summary> | 103 | /// <summary> |
104 | /// Create an object from the user's inventory in the destination region. | 104 | /// Create an object from the user's inventory in the destination region. |