diff options
author | Teravus Ovares (Dan Olivares) | 2009-08-07 20:31:48 -0400 |
---|---|---|
committer | Teravus Ovares (Dan Olivares) | 2009-08-07 20:31:48 -0400 |
commit | 2b990a61bfa88e13d5ad19602e6acef751ea473c (patch) | |
tree | d7cf9705923c940646e2db3af67bdb98944d9392 /OpenSim/Region/Physics | |
parent | * Remove hard coded 256 limitations from various places. There's no more 2... (diff) | |
download | opensim-SC-2b990a61bfa88e13d5ad19602e6acef751ea473c.zip opensim-SC-2b990a61bfa88e13d5ad19602e6acef751ea473c.tar.gz opensim-SC-2b990a61bfa88e13d5ad19602e6acef751ea473c.tar.bz2 opensim-SC-2b990a61bfa88e13d5ad19602e6acef751ea473c.tar.xz |
This is the second part of the 'not crash on regionsize changes'. This lets you configure region sizes to be smaller without crashing the region. I remind you that regions are still square, must be a multiple of 4, and the Linden client doesn't like anything other then 256. If you set it bigger or smaller, the terrain doesn't load in the client, the map has issues, and god forbid you connect it to a grid that expects 256m regions.
Diffstat (limited to 'OpenSim/Region/Physics')
5 files changed, 7 insertions, 7 deletions
diff --git a/OpenSim/Region/Physics/BasicPhysicsPlugin/BasicPhysicsPlugin.cs b/OpenSim/Region/Physics/BasicPhysicsPlugin/BasicPhysicsPlugin.cs index 92d5771..d3d10bf 100644 --- a/OpenSim/Region/Physics/BasicPhysicsPlugin/BasicPhysicsPlugin.cs +++ b/OpenSim/Region/Physics/BasicPhysicsPlugin/BasicPhysicsPlugin.cs | |||
@@ -144,7 +144,7 @@ namespace OpenSim.Region.Physics.BasicPhysicsPlugin | |||
144 | } | 144 | } |
145 | else if (actor.Position.Y >= Constants.RegionSize) | 145 | else if (actor.Position.Y >= Constants.RegionSize) |
146 | { | 146 | { |
147 | actor.Position.Y = 255.9F; | 147 | actor.Position.Y = ((int)Constants.RegionSize - 0.1f); |
148 | } | 148 | } |
149 | 149 | ||
150 | if (actor.Position.X < 0) | 150 | if (actor.Position.X < 0) |
@@ -153,7 +153,7 @@ namespace OpenSim.Region.Physics.BasicPhysicsPlugin | |||
153 | } | 153 | } |
154 | else if (actor.Position.X >= Constants.RegionSize) | 154 | else if (actor.Position.X >= Constants.RegionSize) |
155 | { | 155 | { |
156 | actor.Position.X = 255.9F; | 156 | actor.Position.X = ((int)Constants.RegionSize - 0.1f); |
157 | } | 157 | } |
158 | 158 | ||
159 | float height = _heightMap[(int)actor.Position.Y * Constants.RegionSize + (int)actor.Position.X] + actor.Size.Z; | 159 | float height = _heightMap[(int)actor.Position.Y * Constants.RegionSize + (int)actor.Position.X] + actor.Size.Z; |
diff --git a/OpenSim/Region/Physics/BulletDotNETPlugin/BulletDotNETPrim.cs b/OpenSim/Region/Physics/BulletDotNETPlugin/BulletDotNETPrim.cs index 2cc5d41..7ab8b98 100644 --- a/OpenSim/Region/Physics/BulletDotNETPlugin/BulletDotNETPrim.cs +++ b/OpenSim/Region/Physics/BulletDotNETPlugin/BulletDotNETPrim.cs | |||
@@ -2476,7 +2476,7 @@ namespace OpenSim.Region.Physics.BulletDotNETPlugin | |||
2476 | l_orientation.Z = tempOrientation2.getZ(); | 2476 | l_orientation.Z = tempOrientation2.getZ(); |
2477 | l_orientation.W = tempOrientation2.getW(); | 2477 | l_orientation.W = tempOrientation2.getW(); |
2478 | 2478 | ||
2479 | if (l_position.X > 255.95f || l_position.X < 0f || l_position.Y > 255.95f || l_position.Y < 0f) | 2479 | if (l_position.X > ((int)Constants.RegionSize - 0.05f) || l_position.X < 0f || l_position.Y > ((int)Constants.RegionSize - 0.05f) || l_position.Y < 0f) |
2480 | { | 2480 | { |
2481 | //base.RaiseOutOfBounds(l_position); | 2481 | //base.RaiseOutOfBounds(l_position); |
2482 | 2482 | ||
diff --git a/OpenSim/Region/Physics/OdePlugin/ODECharacter.cs b/OpenSim/Region/Physics/OdePlugin/ODECharacter.cs index b556395..759692f 100644 --- a/OpenSim/Region/Physics/OdePlugin/ODECharacter.cs +++ b/OpenSim/Region/Physics/OdePlugin/ODECharacter.cs | |||
@@ -161,7 +161,7 @@ namespace OpenSim.Region.Physics.OdePlugin | |||
161 | } | 161 | } |
162 | else | 162 | else |
163 | { | 163 | { |
164 | _position = new PhysicsVector(128,128,parent_scene.GetTerrainHeightAtXY(128,128) + 10); | 164 | _position = new PhysicsVector(((int)Constants.RegionSize * 0.5f), ((int)Constants.RegionSize * 0.5f), parent_scene.GetTerrainHeightAtXY(128, 128) + 10); |
165 | m_taintPosition.X = _position.X; | 165 | m_taintPosition.X = _position.X; |
166 | m_taintPosition.Y = _position.Y; | 166 | m_taintPosition.Y = _position.Y; |
167 | m_taintPosition.Z = _position.Z; | 167 | m_taintPosition.Z = _position.Z; |
diff --git a/OpenSim/Region/Physics/OdePlugin/ODEPrim.cs b/OpenSim/Region/Physics/OdePlugin/ODEPrim.cs index d8d3b68..443788c 100644 --- a/OpenSim/Region/Physics/OdePlugin/ODEPrim.cs +++ b/OpenSim/Region/Physics/OdePlugin/ODEPrim.cs | |||
@@ -181,7 +181,7 @@ namespace OpenSim.Region.Physics.OdePlugin | |||
181 | _velocity = new PhysicsVector(); | 181 | _velocity = new PhysicsVector(); |
182 | if (!PhysicsVector.isFinite(pos)) | 182 | if (!PhysicsVector.isFinite(pos)) |
183 | { | 183 | { |
184 | pos = new PhysicsVector(128, 128, parent_scene.GetTerrainHeightAtXY(128, 128) + 0.5f); | 184 | pos = new PhysicsVector(((int)Constants.RegionSize * 0.5f), ((int)Constants.RegionSize * 0.5f), parent_scene.GetTerrainHeightAtXY(((int)Constants.RegionSize * 0.5f), ((int)Constants.RegionSize * 0.5f)) + 0.5f); |
185 | m_log.Warn("[PHYSICS]: Got nonFinite Object create Position"); | 185 | m_log.Warn("[PHYSICS]: Got nonFinite Object create Position"); |
186 | } | 186 | } |
187 | _position = pos; | 187 | _position = pos; |
@@ -2538,7 +2538,7 @@ namespace OpenSim.Region.Physics.OdePlugin | |||
2538 | l_orientation.Z = ori.Z; | 2538 | l_orientation.Z = ori.Z; |
2539 | l_orientation.W = ori.W; | 2539 | l_orientation.W = ori.W; |
2540 | 2540 | ||
2541 | if (l_position.X > 255.95f || l_position.X < 0f || l_position.Y > 255.95f || l_position.Y < 0f) | 2541 | if (l_position.X > ((int)Constants.RegionSize - 0.05f) || l_position.X < 0f || l_position.Y > ((int)Constants.RegionSize - 0.05f) || l_position.Y < 0f) |
2542 | { | 2542 | { |
2543 | //base.RaiseOutOfBounds(l_position); | 2543 | //base.RaiseOutOfBounds(l_position); |
2544 | 2544 | ||
diff --git a/OpenSim/Region/Physics/OdePlugin/Tests/ODETestClass.cs b/OpenSim/Region/Physics/OdePlugin/Tests/ODETestClass.cs index b186175..cdd38c4 100644 --- a/OpenSim/Region/Physics/OdePlugin/Tests/ODETestClass.cs +++ b/OpenSim/Region/Physics/OdePlugin/Tests/ODETestClass.cs | |||
@@ -76,7 +76,7 @@ namespace OpenSim.Region.Physics.OdePlugin | |||
76 | public void CreateAndDropPhysicalCube() | 76 | public void CreateAndDropPhysicalCube() |
77 | { | 77 | { |
78 | PrimitiveBaseShape newcube = PrimitiveBaseShape.CreateBox(); | 78 | PrimitiveBaseShape newcube = PrimitiveBaseShape.CreateBox(); |
79 | PhysicsVector position = new PhysicsVector(128, 128, 128); | 79 | PhysicsVector position = new PhysicsVector(((int)Constants.RegionSize * 0.5f), ((int)Constants.RegionSize * 0.5f), 128); |
80 | PhysicsVector size = new PhysicsVector(0.5f, 0.5f, 0.5f); | 80 | PhysicsVector size = new PhysicsVector(0.5f, 0.5f, 0.5f); |
81 | Quaternion rot = Quaternion.Identity; | 81 | Quaternion rot = Quaternion.Identity; |
82 | PhysicsActor prim = ps.AddPrimShape("CoolShape", newcube, position, size, rot, true); | 82 | PhysicsActor prim = ps.AddPrimShape("CoolShape", newcube, position, size, rot, true); |