diff options
Diffstat (limited to 'OpenSim/Region/Environment/Scenes/ScenePresence.cs')
-rw-r--r-- | OpenSim/Region/Environment/Scenes/ScenePresence.cs | 23 |
1 files changed, 9 insertions, 14 deletions
diff --git a/OpenSim/Region/Environment/Scenes/ScenePresence.cs b/OpenSim/Region/Environment/Scenes/ScenePresence.cs index 61fce39..2b02ab9 100644 --- a/OpenSim/Region/Environment/Scenes/ScenePresence.cs +++ b/OpenSim/Region/Environment/Scenes/ScenePresence.cs | |||
@@ -1514,12 +1514,12 @@ namespace OpenSim.Region.Environment.Scenes | |||
1514 | pos2.Y = pos2.Y + (vel.Y*timeStep); | 1514 | pos2.Y = pos2.Y + (vel.Y*timeStep); |
1515 | pos2.Z = pos2.Z + (vel.Z*timeStep); | 1515 | pos2.Z = pos2.Z + (vel.Z*timeStep); |
1516 | 1516 | ||
1517 | if ((pos2.X < 0) || (pos2.X > 256)) | 1517 | if ((pos2.X < 0) || (pos2.X > Constants.RegionSize)) |
1518 | { | 1518 | { |
1519 | CrossToNewRegion(); | 1519 | CrossToNewRegion(); |
1520 | } | 1520 | } |
1521 | 1521 | ||
1522 | if ((pos2.Y < 0) || (pos2.Y > 256)) | 1522 | if ((pos2.Y < 0) || (pos2.Y > Constants.RegionSize)) |
1523 | { | 1523 | { |
1524 | CrossToNewRegion(); | 1524 | CrossToNewRegion(); |
1525 | } | 1525 | } |
@@ -1544,17 +1544,12 @@ namespace OpenSim.Region.Environment.Scenes | |||
1544 | // distance into new region to place avatar | 1544 | // distance into new region to place avatar |
1545 | const float enterDistance = 0.1f; | 1545 | const float enterDistance = 0.1f; |
1546 | 1546 | ||
1547 | // region size | ||
1548 | // TODO: this should be hard-coded in some common place | ||
1549 | const float regionWidth = 256; | ||
1550 | const float regionHeight = 256; | ||
1551 | |||
1552 | if (pos.X < boundaryDistance) | 1547 | if (pos.X < boundaryDistance) |
1553 | { | 1548 | { |
1554 | neighbourx--; | 1549 | neighbourx--; |
1555 | newpos.X = regionWidth - enterDistance; | 1550 | newpos.X = Constants.RegionSize - enterDistance; |
1556 | } | 1551 | } |
1557 | else if (pos.X > regionWidth - boundaryDistance) | 1552 | else if (pos.X > Constants.RegionSize - boundaryDistance) |
1558 | { | 1553 | { |
1559 | neighbourx++; | 1554 | neighbourx++; |
1560 | newpos.X = enterDistance; | 1555 | newpos.X = enterDistance; |
@@ -1563,16 +1558,16 @@ namespace OpenSim.Region.Environment.Scenes | |||
1563 | if (pos.Y < boundaryDistance) | 1558 | if (pos.Y < boundaryDistance) |
1564 | { | 1559 | { |
1565 | neighboury--; | 1560 | neighboury--; |
1566 | newpos.Y = regionHeight - enterDistance; | 1561 | newpos.Y = Constants.RegionSize - enterDistance; |
1567 | } | 1562 | } |
1568 | else if (pos.Y > regionHeight - boundaryDistance) | 1563 | else if (pos.Y > Constants.RegionSize - boundaryDistance) |
1569 | { | 1564 | { |
1570 | neighboury++; | 1565 | neighboury++; |
1571 | newpos.Y = enterDistance; | 1566 | newpos.Y = enterDistance; |
1572 | } | 1567 | } |
1573 | 1568 | ||
1574 | LLVector3 vel = m_velocity; | 1569 | LLVector3 vel = m_velocity; |
1575 | ulong neighbourHandle = Helpers.UIntsToLong((uint) (neighbourx*256), (uint) (neighboury*256)); | 1570 | ulong neighbourHandle = Helpers.UIntsToLong((uint)(neighbourx * Constants.RegionSize), (uint)(neighboury * Constants.RegionSize)); |
1576 | SimpleRegionInfo neighbourRegion = m_scene.RequestNeighbouringRegionInfo(neighbourHandle); | 1571 | SimpleRegionInfo neighbourRegion = m_scene.RequestNeighbouringRegionInfo(neighbourHandle); |
1577 | if (neighbourRegion != null) | 1572 | if (neighbourRegion != null) |
1578 | { | 1573 | { |
@@ -1622,8 +1617,8 @@ namespace OpenSim.Region.Environment.Scenes | |||
1622 | public void ChildAgentDataUpdate(ChildAgentDataUpdate cAgentData, uint tRegionX, uint tRegionY, uint rRegionX, uint rRegionY) | 1617 | public void ChildAgentDataUpdate(ChildAgentDataUpdate cAgentData, uint tRegionX, uint tRegionY, uint rRegionX, uint rRegionY) |
1623 | { | 1618 | { |
1624 | // | 1619 | // |
1625 | int shiftx = ((int)rRegionX - (int)tRegionX) * 256; | 1620 | int shiftx = ((int)rRegionX - (int)tRegionX) * (int)Constants.RegionSize; |
1626 | int shifty = ((int)rRegionY - (int)tRegionY) * 256; | 1621 | int shifty = ((int)rRegionY - (int)tRegionY) * (int)Constants.RegionSize; |
1627 | 1622 | ||
1628 | m_DrawDistance = cAgentData.drawdistance; | 1623 | m_DrawDistance = cAgentData.drawdistance; |
1629 | m_pos = new LLVector3(cAgentData.Position.x + shiftx, cAgentData.Position.y + shifty, cAgentData.Position.z); | 1624 | m_pos = new LLVector3(cAgentData.Position.x + shiftx, cAgentData.Position.y + shifty, cAgentData.Position.z); |