aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--OpenSim/Framework/Communications/LoginResponse.cs10
-rw-r--r--OpenSim/Framework/Constants.cs11
-rw-r--r--OpenSim/Framework/Data/RegionProfileData.cs4
-rw-r--r--OpenSim/Framework/RegionHandle.cs6
-rw-r--r--OpenSim/Framework/RegionInfo.cs2
-rw-r--r--OpenSim/Framework/SerializableRegionInfo.cs2
-rw-r--r--OpenSim/Framework/UserProfileData.cs2
-rw-r--r--OpenSim/Grid/GridServer/GridManager.cs28
-rw-r--r--OpenSim/Grid/MessagingServer/MessageService.cs2
-rw-r--r--OpenSim/Grid/UserServer/UserLoginService.cs10
-rw-r--r--OpenSim/Region/Communications/Local/LocalLoginService.cs4
-rw-r--r--OpenSim/Region/Environment/Interfaces/ITerrainChannel.cs10
-rw-r--r--OpenSim/Region/Environment/LandManagement/Land.cs4
-rw-r--r--OpenSim/Region/Environment/LandManagement/LandManager.cs4
-rw-r--r--OpenSim/Region/Environment/Modules/ChatModule.cs4
-rw-r--r--OpenSim/Region/Environment/Modules/TerrainModule.cs131
-rw-r--r--OpenSim/Region/Environment/Scenes/InnerScene.cs2
-rw-r--r--OpenSim/Region/Environment/Scenes/Scene.cs24
-rw-r--r--OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs2
-rw-r--r--OpenSim/Region/Environment/Scenes/ScenePresence.cs23
-rw-r--r--OpenSim/Region/Physics/BasicPhysicsPlugin/BasicPhysicsPlugin.cs8
-rw-r--r--OpenSim/Region/Physics/BulletXPlugin/BulletXPlugin.cs2
-rw-r--r--OpenSim/Region/Physics/OdePlugin/OdePlugin.cs8
-rw-r--r--OpenSim/Region/Physics/POSPlugin/POSPlugin.cs18
-rw-r--r--OpenSim/Region/ScriptEngine/Common/LSL_BuiltIn_Commands.cs2
-rw-r--r--OpenSim/Region/ScriptEngine/DotNetEngine/Compiler/LSL/Compiler.cs64
26 files changed, 276 insertions, 111 deletions
diff --git a/OpenSim/Framework/Communications/LoginResponse.cs b/OpenSim/Framework/Communications/LoginResponse.cs
index 9036884..00b691e 100644
--- a/OpenSim/Framework/Communications/LoginResponse.cs
+++ b/OpenSim/Framework/Communications/LoginResponse.cs
@@ -152,7 +152,7 @@ namespace OpenSim.Framework.UserManagement
152 ErrorReason = "key"; 152 ErrorReason = "key";
153 welcomeMessage = "Welcome to OpenSim!"; 153 welcomeMessage = "Welcome to OpenSim!";
154 seedCapability = String.Empty; 154 seedCapability = String.Empty;
155 home = "{'region_handle':[r" + (1000*256).ToString() + ",r" + (1000*256).ToString() + "], 'position':[r" + 155 home = "{'region_handle':[r" + (1000*Constants.RegionSize).ToString() + ",r" + (1000*Constants.RegionSize).ToString() + "], 'position':[r" +
156 userProfile.homepos.X.ToString() + ",r" + userProfile.homepos.Y.ToString() + ",r" + 156 userProfile.homepos.X.ToString() + ",r" + userProfile.homepos.Y.ToString() + ",r" +
157 userProfile.homepos.Z.ToString() + "], 'look_at':[r" + userProfile.homelookat.X.ToString() + ",r" + 157 userProfile.homepos.Z.ToString() + "], 'look_at':[r" + userProfile.homelookat.X.ToString() + ",r" +
158 userProfile.homelookat.Y.ToString() + ",r" + userProfile.homelookat.Z.ToString() + "]}"; 158 userProfile.homelookat.Y.ToString() + ",r" + userProfile.homelookat.Z.ToString() + "]}";
@@ -347,8 +347,8 @@ namespace OpenSim.Framework.UserManagement
347 responseData["home"] = home; 347 responseData["home"] = home;
348 responseData["look_at"] = lookAt; 348 responseData["look_at"] = lookAt;
349 responseData["message"] = welcomeMessage; 349 responseData["message"] = welcomeMessage;
350 responseData["region_x"] = (Int32) RegionX*256; 350 responseData["region_x"] = (Int32)RegionX * Constants.RegionSize;
351 responseData["region_y"] = (Int32) RegionY*256; 351 responseData["region_y"] = (Int32)RegionY * Constants.RegionSize;
352 352
353 //responseData["inventory-lib-root"] = new ArrayList(); // todo 353 //responseData["inventory-lib-root"] = new ArrayList(); // todo
354 354
@@ -447,8 +447,8 @@ namespace OpenSim.Framework.UserManagement
447 map["home"] = LLSD.FromString(home); 447 map["home"] = LLSD.FromString(home);
448 map["look_at"] = LLSD.FromString(lookAt); 448 map["look_at"] = LLSD.FromString(lookAt);
449 map["message"] = LLSD.FromString(welcomeMessage); 449 map["message"] = LLSD.FromString(welcomeMessage);
450 map["region_x"] = LLSD.FromInteger(RegionX * 256); 450 map["region_x"] = LLSD.FromInteger(RegionX * Constants.RegionSize);
451 map["region_y"] = LLSD.FromInteger(RegionY * 256); 451 map["region_y"] = LLSD.FromInteger(RegionY * Constants.RegionSize);
452 452
453 if (m_buddyList != null) 453 if (m_buddyList != null)
454 { 454 {
diff --git a/OpenSim/Framework/Constants.cs b/OpenSim/Framework/Constants.cs
new file mode 100644
index 0000000..b308221
--- /dev/null
+++ b/OpenSim/Framework/Constants.cs
@@ -0,0 +1,11 @@
1using System;
2using System.Collections.Generic;
3using System.Text;
4
5namespace OpenSim.Framework
6{
7 public class Constants
8 {
9 public const uint RegionSize = 256;
10 }
11}
diff --git a/OpenSim/Framework/Data/RegionProfileData.cs b/OpenSim/Framework/Data/RegionProfileData.cs
index 48d3ebc..8119d01 100644
--- a/OpenSim/Framework/Data/RegionProfileData.cs
+++ b/OpenSim/Framework/Data/RegionProfileData.cs
@@ -169,7 +169,7 @@ namespace OpenSim.Framework.Data
169 RegionProfileData simData = new RegionProfileData(); 169 RegionProfileData simData = new RegionProfileData();
170 simData.regionLocX = Convert.ToUInt32((string) responseData["region_locx"]); 170 simData.regionLocX = Convert.ToUInt32((string) responseData["region_locx"]);
171 simData.regionLocY = Convert.ToUInt32((string) responseData["region_locy"]); 171 simData.regionLocY = Convert.ToUInt32((string) responseData["region_locy"]);
172 simData.regionHandle = Helpers.UIntsToLong((simData.regionLocX*256), (simData.regionLocY*256)); 172 simData.regionHandle = Helpers.UIntsToLong((simData.regionLocX * Constants.RegionSize), (simData.regionLocY * Constants.RegionSize));
173 simData.serverIP = (string) responseData["sim_ip"]; 173 simData.serverIP = (string) responseData["sim_ip"];
174 simData.serverPort = Convert.ToUInt32((string) responseData["sim_port"]); 174 simData.serverPort = Convert.ToUInt32((string) responseData["sim_port"]);
175 simData.httpPort = Convert.ToUInt32((string) responseData["http_port"]); 175 simData.httpPort = Convert.ToUInt32((string) responseData["http_port"]);
@@ -203,7 +203,7 @@ namespace OpenSim.Framework.Data
203 RegionProfileData simData = new RegionProfileData(); 203 RegionProfileData simData = new RegionProfileData();
204 simData.regionLocX = Convert.ToUInt32((string) responseData["region_locx"]); 204 simData.regionLocX = Convert.ToUInt32((string) responseData["region_locx"]);
205 simData.regionLocY = Convert.ToUInt32((string) responseData["region_locy"]); 205 simData.regionLocY = Convert.ToUInt32((string) responseData["region_locy"]);
206 simData.regionHandle = Helpers.UIntsToLong((simData.regionLocX*256), (simData.regionLocY*256)); 206 simData.regionHandle = Helpers.UIntsToLong((simData.regionLocX * Constants.RegionSize), (simData.regionLocY * Constants.RegionSize));
207 simData.serverIP = (string) responseData["sim_ip"]; 207 simData.serverIP = (string) responseData["sim_ip"];
208 simData.serverPort = Convert.ToUInt32((string) responseData["sim_port"]); 208 simData.serverPort = Convert.ToUInt32((string) responseData["sim_port"]);
209 simData.httpPort = Convert.ToUInt32((string) responseData["http_port"]); 209 simData.httpPort = Convert.ToUInt32((string) responseData["http_port"]);
diff --git a/OpenSim/Framework/RegionHandle.cs b/OpenSim/Framework/RegionHandle.cs
index 440aaf6..9cfe53d 100644
--- a/OpenSim/Framework/RegionHandle.cs
+++ b/OpenSim/Framework/RegionHandle.cs
@@ -63,8 +63,8 @@ namespace OpenSim.Framework
63 uint ny = (uint) y; 63 uint ny = (uint) y;
64 64
65 // Multiply grid coords to get region coords 65 // Multiply grid coords to get region coords
66 nx *= 256; 66 nx *= Constants.RegionSize;
67 ny *= 256; 67 ny *= Constants.RegionSize;
68 68
69 // Stuff the IP address in too 69 // Stuff the IP address in too
70 nx = (uint) a << 16; 70 nx = (uint) a << 16;
@@ -80,7 +80,7 @@ namespace OpenSim.Framework
80 /// <param name="y">Grid Y Coordinate</param> 80 /// <param name="y">Grid Y Coordinate</param>
81 public RegionHandle(uint x, uint y) 81 public RegionHandle(uint x, uint y)
82 { 82 {
83 handle = ((x*256) << 32) | (y*256); 83 handle = ((x * Constants.RegionSize) << 32) | (y * Constants.RegionSize);
84 } 84 }
85 85
86 /// <summary> 86 /// <summary>
diff --git a/OpenSim/Framework/RegionInfo.cs b/OpenSim/Framework/RegionInfo.cs
index e953182..f97db5c 100644
--- a/OpenSim/Framework/RegionInfo.cs
+++ b/OpenSim/Framework/RegionInfo.cs
@@ -156,7 +156,7 @@ namespace OpenSim.Framework
156 156
157 public ulong RegionHandle 157 public ulong RegionHandle
158 { 158 {
159 get { return Util.UIntsToLong((RegionLocX*256), (RegionLocY*256)); } 159 get { return Util.UIntsToLong((RegionLocX * (uint)Constants.RegionSize), (RegionLocY * (uint)Constants.RegionSize)); }
160 } 160 }
161 } 161 }
162 162
diff --git a/OpenSim/Framework/SerializableRegionInfo.cs b/OpenSim/Framework/SerializableRegionInfo.cs
index 0097fe4..077ed8d 100644
--- a/OpenSim/Framework/SerializableRegionInfo.cs
+++ b/OpenSim/Framework/SerializableRegionInfo.cs
@@ -155,7 +155,7 @@ namespace OpenSim.Framework
155 155
156 public ulong RegionHandle 156 public ulong RegionHandle
157 { 157 {
158 get { return Util.UIntsToLong((RegionLocX*256), (RegionLocY*256)); } 158 get { return Util.UIntsToLong((RegionLocX * (uint)Constants.RegionSize), (RegionLocY * (uint)Constants.RegionSize)); }
159 } 159 }
160 } 160 }
161} \ No newline at end of file 161} \ No newline at end of file
diff --git a/OpenSim/Framework/UserProfileData.cs b/OpenSim/Framework/UserProfileData.cs
index de44a0d..9c02d78 100644
--- a/OpenSim/Framework/UserProfileData.cs
+++ b/OpenSim/Framework/UserProfileData.cs
@@ -70,7 +70,7 @@ namespace OpenSim.Framework
70 /// </summary> 70 /// </summary>
71 public ulong homeRegion 71 public ulong homeRegion
72 { 72 {
73 get { return Helpers.UIntsToLong((homeRegionX*256), (homeRegionY*256)); } 73 get { return Helpers.UIntsToLong((homeRegionX * (uint)Constants.RegionSize), (homeRegionY * (uint)Constants.RegionSize)); }
74 set 74 set
75 { 75 {
76 homeRegionX = (uint) (value >> 40); 76 homeRegionX = (uint) (value >> 40);
diff --git a/OpenSim/Grid/GridServer/GridManager.cs b/OpenSim/Grid/GridServer/GridManager.cs
index 0ccffd9..efab4fc 100644
--- a/OpenSim/Grid/GridServer/GridManager.cs
+++ b/OpenSim/Grid/GridServer/GridManager.cs
@@ -203,13 +203,13 @@ namespace OpenSim.Grid.GridServer
203 { 203 {
204 if ( 204 if (
205 getRegion( 205 getRegion(
206 Util.UIntsToLong((uint) ((central_region.regionLocX + x)*256), 206 Util.UIntsToLong((uint)((central_region.regionLocX + x) * Constants.RegionSize),
207 (uint) (central_region.regionLocY + y)*256)) != null) 207 (uint)(central_region.regionLocY + y) * Constants.RegionSize)) != null)
208 { 208 {
209 neighbour = 209 neighbour =
210 getRegion( 210 getRegion(
211 Util.UIntsToLong((uint) ((central_region.regionLocX + x)*256), 211 Util.UIntsToLong((uint)((central_region.regionLocX + x) * Constants.RegionSize),
212 (uint) (central_region.regionLocY + y)*256)); 212 (uint)(central_region.regionLocY + y) * Constants.RegionSize));
213 response += "<neighbour>"; 213 response += "<neighbour>";
214 response += "<sim_ip>" + neighbour.serverIP + "</sim_ip>"; 214 response += "<sim_ip>" + neighbour.serverIP + "</sim_ip>";
215 response += "<sim_port>" + neighbour.serverPort.ToString() + "</sim_port>"; 215 response += "<sim_port>" + neighbour.serverPort.ToString() + "</sim_port>";
@@ -303,7 +303,7 @@ namespace OpenSim.Grid.GridServer
303 } 303 }
304 catch (KeyNotFoundException) { } 304 catch (KeyNotFoundException) { }
305 305
306 TheSim.regionHandle = Helpers.UIntsToLong((TheSim.regionLocX * 256), (TheSim.regionLocY * 256)); 306 TheSim.regionHandle = Helpers.UIntsToLong((TheSim.regionLocX * Constants.RegionSize), (TheSim.regionLocY * Constants.RegionSize));
307 TheSim.serverURI = "http://" + TheSim.serverIP + ":" + TheSim.serverPort + "/"; 307 TheSim.serverURI = "http://" + TheSim.serverIP + ":" + TheSim.serverPort + "/";
308 308
309 TheSim.httpServerURI = "http://" + TheSim.serverIP + ":" + TheSim.httpPort + "/"; 309 TheSim.httpServerURI = "http://" + TheSim.serverIP + ":" + TheSim.httpPort + "/";
@@ -416,13 +416,13 @@ namespace OpenSim.Grid.GridServer
416 { 416 {
417 if ( 417 if (
418 getRegion( 418 getRegion(
419 Helpers.UIntsToLong((uint)((TheSim.regionLocX + x) * 256), 419 Helpers.UIntsToLong((uint)((TheSim.regionLocX + x) * Constants.RegionSize),
420 (uint)(TheSim.regionLocY + y) * 256)) != null) 420 (uint)(TheSim.regionLocY + y) * Constants.RegionSize)) != null)
421 { 421 {
422 neighbour = 422 neighbour =
423 getRegion( 423 getRegion(
424 Helpers.UIntsToLong((uint)((TheSim.regionLocX + x) * 256), 424 Helpers.UIntsToLong((uint)((TheSim.regionLocX + x) * Constants.RegionSize),
425 (uint)(TheSim.regionLocY + y) * 256)); 425 (uint)(TheSim.regionLocY + y) * Constants.RegionSize));
426 426
427 NeighbourBlock = new Hashtable(); 427 NeighbourBlock = new Hashtable();
428 NeighbourBlock["sim_ip"] = Util.GetHostFromDNS(neighbour.serverIP).ToString(); 428 NeighbourBlock["sim_ip"] = Util.GetHostFromDNS(neighbour.serverIP).ToString();
@@ -604,7 +604,7 @@ namespace OpenSim.Grid.GridServer
604 { 604 {
605 for (int y = ymin; y < ymax + 1; y++) 605 for (int y = ymin; y < ymax + 1; y++)
606 { 606 {
607 ulong regHandle = Helpers.UIntsToLong((uint) (x*256), (uint) (y*256)); 607 ulong regHandle = Helpers.UIntsToLong((uint)(x * Constants.RegionSize), (uint)(y * Constants.RegionSize));
608 simProfile = getRegion(regHandle); 608 simProfile = getRegion(regHandle);
609 if (simProfile != null) 609 if (simProfile != null)
610 { 610 {
@@ -764,12 +764,12 @@ namespace OpenSim.Grid.GridServer
764 764
765 case "region_locx": 765 case "region_locx":
766 TheSim.regionLocX = Convert.ToUInt32((string) simnode.ChildNodes[i].InnerText); 766 TheSim.regionLocX = Convert.ToUInt32((string) simnode.ChildNodes[i].InnerText);
767 TheSim.regionHandle = Helpers.UIntsToLong((TheSim.regionLocX*256), (TheSim.regionLocY*256)); 767 TheSim.regionHandle = Helpers.UIntsToLong((TheSim.regionLocX * Constants.RegionSize), (TheSim.regionLocY * Constants.RegionSize));
768 break; 768 break;
769 769
770 case "region_locy": 770 case "region_locy":
771 TheSim.regionLocY = Convert.ToUInt32((string) simnode.ChildNodes[i].InnerText); 771 TheSim.regionLocY = Convert.ToUInt32((string) simnode.ChildNodes[i].InnerText);
772 TheSim.regionHandle = Helpers.UIntsToLong((TheSim.regionLocX*256), (TheSim.regionLocY*256)); 772 TheSim.regionHandle = Helpers.UIntsToLong((TheSim.regionLocX * Constants.RegionSize), (TheSim.regionLocY * Constants.RegionSize));
773 break; 773 break;
774 } 774 }
775 } 775 }
@@ -787,9 +787,9 @@ namespace OpenSim.Grid.GridServer
787 return "ERROR! Servers must register with public addresses."; 787 return "ERROR! Servers must register with public addresses.";
788 } 788 }
789 789
790 if (requireValid && (TheSim.serverIP.StartsWith("0."))) 790 if (requireValid && (TheSim.serverIP.StartsWith("0.") || TheSim.serverIP.StartsWith("255.")))
791 { 791 {
792 return "ERROR! 0.*.*.* Addresses are invalid, please check your server config and try again"; 792 return "ERROR! 0.*.*.* / 255.*.*.* Addresses are invalid, please check your server config and try again";
793 } 793 }
794 794
795 795
diff --git a/OpenSim/Grid/MessagingServer/MessageService.cs b/OpenSim/Grid/MessagingServer/MessageService.cs
index c2669b0..059a6b0 100644
--- a/OpenSim/Grid/MessagingServer/MessageService.cs
+++ b/OpenSim/Grid/MessagingServer/MessageService.cs
@@ -451,7 +451,7 @@ namespace OpenSim.Grid.MessagingServer
451 regionProfile = new RegionProfileData(); 451 regionProfile = new RegionProfileData();
452 regionProfile.httpPort = (uint)Convert.ToInt32((string)responseData["http_port"]); 452 regionProfile.httpPort = (uint)Convert.ToInt32((string)responseData["http_port"]);
453 regionProfile.httpServerURI = "http://" + internalIpStr + ":" + regionProfile.httpPort + "/"; 453 regionProfile.httpServerURI = "http://" + internalIpStr + ":" + regionProfile.httpPort + "/";
454 regionProfile.regionHandle = Helpers.UIntsToLong((regX * 256), (regY * 256)); 454 regionProfile.regionHandle = Helpers.UIntsToLong((regX * Constants.RegionSize), (regY * Constants.RegionSize));
455 regionProfile.regionLocX = regX; 455 regionProfile.regionLocX = regX;
456 regionProfile.regionLocY = regY; 456 regionProfile.regionLocY = regY;
457 457
diff --git a/OpenSim/Grid/UserServer/UserLoginService.cs b/OpenSim/Grid/UserServer/UserLoginService.cs
index af234e2..09cd9fd 100644
--- a/OpenSim/Grid/UserServer/UserLoginService.cs
+++ b/OpenSim/Grid/UserServer/UserLoginService.cs
@@ -82,8 +82,8 @@ namespace OpenSim.Grid.UserServer
82 // Customise the response 82 // Customise the response
83 //CFK: This is redundant and the next message should always appear. 83 //CFK: This is redundant and the next message should always appear.
84 //CFK: m_log.Info("[LOGIN]: Home Location"); 84 //CFK: m_log.Info("[LOGIN]: Home Location");
85 response.Home = "{'region_handle':[r" + (SimInfo.regionLocX*256).ToString() + ",r" + 85 response.Home = "{'region_handle':[r" + (SimInfo.regionLocX * Constants.RegionSize).ToString() + ",r" +
86 (SimInfo.regionLocY*256).ToString() + "], " + 86 (SimInfo.regionLocY * Constants.RegionSize).ToString() + "], " +
87 "'position':[r" + theUser.homeLocation.X.ToString() + ",r" + 87 "'position':[r" + theUser.homeLocation.X.ToString() + ",r" +
88 theUser.homeLocation.Y.ToString() + ",r" + theUser.homeLocation.Z.ToString() + "], " + 88 theUser.homeLocation.Y.ToString() + ",r" + theUser.homeLocation.Z.ToString() + "], " +
89 "'look_at':[r" + theUser.homeLocation.X.ToString() + ",r" + 89 "'look_at':[r" + theUser.homeLocation.X.ToString() + ",r" +
@@ -144,7 +144,7 @@ namespace OpenSim.Grid.UserServer
144 // Send him to default region instead 144 // Send him to default region instead
145 // Load information from the gridserver 145 // Load information from the gridserver
146 146
147 ulong defaultHandle = (((ulong) m_config.DefaultX*256) << 32) | ((ulong) m_config.DefaultY*256); 147 ulong defaultHandle = (((ulong)m_config.DefaultX * Constants.RegionSize) << 32) | ((ulong)m_config.DefaultY * Constants.RegionSize);
148 148
149 m_log.Warn( 149 m_log.Warn(
150 "[LOGIN]: Home region not available: sending to default " + defaultHandle.ToString()); 150 "[LOGIN]: Home region not available: sending to default " + defaultHandle.ToString());
@@ -158,8 +158,8 @@ namespace OpenSim.Grid.UserServer
158 158
159 // Customise the response 159 // Customise the response
160 m_log.Info("[LOGIN]: Home Location"); 160 m_log.Info("[LOGIN]: Home Location");
161 response.Home = "{'region_handle':[r" + (SimInfo.regionLocX*256).ToString() + ",r" + 161 response.Home = "{'region_handle':[r" + (SimInfo.regionLocX * Constants.RegionSize).ToString() + ",r" +
162 (SimInfo.regionLocY*256).ToString() + "], " + 162 (SimInfo.regionLocY * Constants.RegionSize).ToString() + "], " +
163 "'position':[r" + theUser.homeLocation.X.ToString() + ",r" + 163 "'position':[r" + theUser.homeLocation.X.ToString() + ",r" +
164 theUser.homeLocation.Y.ToString() + ",r" + theUser.homeLocation.Z.ToString() + "], " + 164 theUser.homeLocation.Y.ToString() + ",r" + theUser.homeLocation.Z.ToString() + "], " +
165 "'look_at':[r" + theUser.homeLocation.X.ToString() + ",r" + 165 "'look_at':[r" + theUser.homeLocation.X.ToString() + ",r" +
diff --git a/OpenSim/Region/Communications/Local/LocalLoginService.cs b/OpenSim/Region/Communications/Local/LocalLoginService.cs
index f6dd379..53748ab 100644
--- a/OpenSim/Region/Communications/Local/LocalLoginService.cs
+++ b/OpenSim/Region/Communications/Local/LocalLoginService.cs
@@ -128,8 +128,8 @@ namespace OpenSim.Region.Communications.Local
128 128
129 if (reg != null) 129 if (reg != null)
130 { 130 {
131 response.Home = "{'region_handle':[r" + (reg.RegionLocX*256).ToString() + ",r" + 131 response.Home = "{'region_handle':[r" + (reg.RegionLocX * Constants.RegionSize).ToString() + ",r" +
132 (reg.RegionLocY*256).ToString() + "], " + 132 (reg.RegionLocY * Constants.RegionSize).ToString() + "], " +
133 "'position':[r" + theUser.homeLocation.X.ToString() + ",r" + 133 "'position':[r" + theUser.homeLocation.X.ToString() + ",r" +
134 theUser.homeLocation.Y.ToString() + ",r" + theUser.homeLocation.Z.ToString() + "], " + 134 theUser.homeLocation.Y.ToString() + ",r" + theUser.homeLocation.Z.ToString() + "], " +
135 "'look_at':[r" + theUser.homeLocation.X.ToString() + ",r" + 135 "'look_at':[r" + theUser.homeLocation.X.ToString() + ",r" +
diff --git a/OpenSim/Region/Environment/Interfaces/ITerrainChannel.cs b/OpenSim/Region/Environment/Interfaces/ITerrainChannel.cs
new file mode 100644
index 0000000..9f70b98
--- /dev/null
+++ b/OpenSim/Region/Environment/Interfaces/ITerrainChannel.cs
@@ -0,0 +1,10 @@
1using System;
2namespace OpenSim.Region.Environment.Interfaces
3{
4 interface ITerrainChannel
5 {
6 int Height { get; }
7 double this[int x, int y] { get; set; }
8 int Width { get; }
9 }
10}
diff --git a/OpenSim/Region/Environment/LandManagement/Land.cs b/OpenSim/Region/Environment/LandManagement/Land.cs
index 7cc8519..fec8899 100644
--- a/OpenSim/Region/Environment/LandManagement/Land.cs
+++ b/OpenSim/Region/Environment/LandManagement/Land.cs
@@ -78,7 +78,7 @@ namespace OpenSim.Region.Environment.LandManagement
78 /// <returns>Returns true if the piece of land contains the specified point</returns> 78 /// <returns>Returns true if the piece of land contains the specified point</returns>
79 public bool containsPoint(int x, int y) 79 public bool containsPoint(int x, int y)
80 { 80 {
81 if (x >= 0 && y >= 0 && x <= 256 && x <= 256) 81 if (x >= 0 && y >= 0 && x <= Constants.RegionSize && x <= Constants.RegionSize)
82 { 82 {
83 return (landBitmap[x/4, y/4] == true); 83 return (landBitmap[x/4, y/4] == true);
84 } 84 }
@@ -545,7 +545,7 @@ namespace OpenSim.Region.Environment.LandManagement
545 /// <returns></returns> 545 /// <returns></returns>
546 public static bool[,] basicFullRegionLandBitmap() 546 public static bool[,] basicFullRegionLandBitmap()
547 { 547 {
548 return getSquareLandBitmap(0, 0, 256, 256); 548 return getSquareLandBitmap(0, 0, (int)Constants.RegionSize, (int)Constants.RegionSize);
549 } 549 }
550 550
551 /// <summary> 551 /// <summary>
diff --git a/OpenSim/Region/Environment/LandManagement/LandManager.cs b/OpenSim/Region/Environment/LandManagement/LandManager.cs
index a4d8868..f5e2a3e 100644
--- a/OpenSim/Region/Environment/LandManagement/LandManager.cs
+++ b/OpenSim/Region/Environment/LandManagement/LandManager.cs
@@ -281,7 +281,7 @@ namespace OpenSim.Region.Environment.LandManagement
281 281
282 public Land getLandObject(int x, int y) 282 public Land getLandObject(int x, int y)
283 { 283 {
284 if (x >= 256 || y >= 256 || x < 0 || y < 0) 284 if (x >= Constants.RegionSize || y >= Constants.RegionSize || x < 0 || y < 0)
285 { 285 {
286 // These exceptions here will cause a lot of complaints from the users specifically because 286 // These exceptions here will cause a lot of complaints from the users specifically because
287 // they happen every time at border crossings 287 // they happen every time at border crossings
@@ -614,7 +614,7 @@ namespace OpenSim.Region.Environment.LandManagement
614 614
615 Land fullSimParcel = new Land(LLUUID.Zero, false, m_scene); 615 Land fullSimParcel = new Land(LLUUID.Zero, false, m_scene);
616 616
617 fullSimParcel.setLandBitmap(Land.getSquareLandBitmap(0, 0, 256, 256)); 617 fullSimParcel.setLandBitmap(Land.getSquareLandBitmap(0, 0, (int)Constants.RegionSize, (int)Constants.RegionSize));
618 fullSimParcel.landData.ownerID = m_regInfo.MasterAvatarAssignedUUID; 618 fullSimParcel.landData.ownerID = m_regInfo.MasterAvatarAssignedUUID;
619 619
620 addLandObject(fullSimParcel); 620 addLandObject(fullSimParcel);
diff --git a/OpenSim/Region/Environment/Modules/ChatModule.cs b/OpenSim/Region/Environment/Modules/ChatModule.cs
index 82bd2ec..a34bd96 100644
--- a/OpenSim/Region/Environment/Modules/ChatModule.cs
+++ b/OpenSim/Region/Environment/Modules/ChatModule.cs
@@ -223,7 +223,7 @@ namespace OpenSim.Region.Environment.Modules
223 223
224 // Filled in since it's easier than rewriting right now. 224 // Filled in since it's easier than rewriting right now.
225 LLVector3 fromPos = e.Position; 225 LLVector3 fromPos = e.Position;
226 LLVector3 regionPos = new LLVector3(scene.RegionInfo.RegionLocX*256, scene.RegionInfo.RegionLocY*256, 0); 226 LLVector3 regionPos = new LLVector3(scene.RegionInfo.RegionLocX * Constants.RegionSize, scene.RegionInfo.RegionLocY * Constants.RegionSize, 0);
227 227
228 string fromName = e.From; 228 string fromName = e.From;
229 string message = e.Message; 229 string message = e.Message;
@@ -237,7 +237,7 @@ namespace OpenSim.Region.Environment.Modules
237 if (avatar != null) 237 if (avatar != null)
238 { 238 {
239 fromPos = avatar.AbsolutePosition; 239 fromPos = avatar.AbsolutePosition;
240 regionPos = new LLVector3(scene.RegionInfo.RegionLocX*256, scene.RegionInfo.RegionLocY*256, 0); 240 regionPos = new LLVector3(scene.RegionInfo.RegionLocX * Constants.RegionSize, scene.RegionInfo.RegionLocY * Constants.RegionSize, 0);
241 fromName = avatar.Firstname + " " + avatar.Lastname; 241 fromName = avatar.Firstname + " " + avatar.Lastname;
242 fromAgentID = e.Sender.AgentId; 242 fromAgentID = e.Sender.AgentId;
243 } 243 }
diff --git a/OpenSim/Region/Environment/Modules/TerrainModule.cs b/OpenSim/Region/Environment/Modules/TerrainModule.cs
new file mode 100644
index 0000000..7e163a3
--- /dev/null
+++ b/OpenSim/Region/Environment/Modules/TerrainModule.cs
@@ -0,0 +1,131 @@
1/*
2* Copyright (c) Contributors, http://opensimulator.org/
3* See CONTRIBUTORS.TXT for a full list of copyright holders.
4*
5* Redistribution and use in source and binary forms, with or without
6* modification, are permitted provided that the following conditions are met:
7* * Redistributions of source code must retain the above copyright
8* notice, this list of conditions and the following disclaimer.
9* * Redistributions in binary form must reproduce the above copyright
10* notice, this list of conditions and the following disclaimer in the
11* documentation and/or other materials provided with the distribution.
12* * Neither the name of the OpenSim Project nor the
13* names of its contributors may be used to endorse or promote products
14* derived from this software without specific prior written permission.
15*
16* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS AS IS AND ANY
17* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
18* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
19* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
20* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
21* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
22* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
23* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
24* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
25* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26*
27*/
28
29using Nini.Config;
30using System;
31using System.Collections;
32using System.Collections.Generic;
33using OpenSim.Framework;
34using OpenSim.Framework.Console;
35using OpenSim.Region.Environment.Interfaces;
36using OpenSim.Region.Environment.Scenes;
37using libsecondlife;
38
39namespace OpenSim.Region.Environment.Modules
40{
41 /// <summary>
42 /// A new version of the old Channel class, simplified
43 /// </summary>
44 public class TerrainChannel : ITerrainChannel
45 {
46 private double[,] map;
47
48 public int Width
49 {
50 get { return map.GetLength(0); }
51 }
52
53 public int Height
54 {
55 get { return map.GetLength(1); }
56 }
57
58 public TerrainChannel Copy()
59 {
60 TerrainChannel copy = new TerrainChannel(false);
61 copy.map = (double[,])this.map.Clone();
62
63 return copy;
64 }
65
66 public double this[int x, int y]
67 {
68 get
69 {
70 return map[x, y];
71 }
72 set
73 {
74 map[x, y] = value;
75 }
76 }
77
78 public TerrainChannel()
79 {
80 map = new double[Constants.RegionSize, Constants.RegionSize];
81 }
82
83 public TerrainChannel(bool createMap)
84 {
85 if (createMap)
86 map = new double[Constants.RegionSize, Constants.RegionSize];
87 }
88
89 public TerrainChannel(int w, int h)
90 {
91 map = new double[w, h];
92 }
93 }
94
95 public class TerrainModule : IRegionModule
96 {
97 private static readonly log4net.ILog m_log = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
98
99 Scene m_scene;
100
101 private IConfigSource m_gConfig;
102
103 public void Initialise(Scene scene, IConfigSource config)
104 {
105 m_scene = scene;
106 m_gConfig = config;
107 }
108
109 public void Close()
110 {
111
112 }
113
114 public string Name
115 {
116 get { return "TerrainModule"; }
117 }
118
119 public bool IsSharedModule
120 {
121 get { return false; }
122 }
123
124 public void PostInitialise()
125 {
126
127 }
128
129 }
130
131}
diff --git a/OpenSim/Region/Environment/Scenes/InnerScene.cs b/OpenSim/Region/Environment/Scenes/InnerScene.cs
index 7698127..48fa3dc 100644
--- a/OpenSim/Region/Environment/Scenes/InnerScene.cs
+++ b/OpenSim/Region/Environment/Scenes/InnerScene.cs
@@ -81,7 +81,7 @@ namespace OpenSim.Region.Environment.Scenes
81 m_parentScene = parent; 81 m_parentScene = parent;
82 m_regInfo = regInfo; 82 m_regInfo = regInfo;
83 PermissionsMngr = permissionsMngr; 83 PermissionsMngr = permissionsMngr;
84 QuadTree = new BasicQuadTreeNode(null, "/0/", 0, 0, 256, 256); 84 QuadTree = new BasicQuadTreeNode(null, "/0/", 0, 0, (short)Constants.RegionSize, (short)Constants.RegionSize);
85 QuadTree.Subdivide(); 85 QuadTree.Subdivide();
86 QuadTree.Subdivide(); 86 QuadTree.Subdivide();
87 } 87 }
diff --git a/OpenSim/Region/Environment/Scenes/Scene.cs b/OpenSim/Region/Environment/Scenes/Scene.cs
index 5842932..eec51e6 100644
--- a/OpenSim/Region/Environment/Scenes/Scene.cs
+++ b/OpenSim/Region/Environment/Scenes/Scene.cs
@@ -1232,31 +1232,31 @@ namespace OpenSim.Region.Environment.Scenes
1232 ulong newRegionHandle = 0; 1232 ulong newRegionHandle = 0;
1233 LLVector3 pos = position; 1233 LLVector3 pos = position;
1234 1234
1235 if (position.X > 257f) 1235 if (position.X > Constants.RegionSize + 0.1f)
1236 { 1236 {
1237 pos.X = ((pos.X - 256)); 1237 pos.X = ((pos.X - Constants.RegionSize));
1238 1238
1239 newRegionHandle = Util.UIntsToLong((uint)((thisx + 1) * 256), (uint)(thisy * 256)); 1239 newRegionHandle = Util.UIntsToLong((uint)((thisx + 1) * Constants.RegionSize), (uint)(thisy * Constants.RegionSize));
1240 1240
1241 // x + 1 1241 // x + 1
1242 } 1242 }
1243 else if (position.X < -1f) 1243 else if (position.X < -0.1f)
1244 { 1244 {
1245 pos.X = ((pos.X + 256)); 1245 pos.X = ((pos.X + Constants.RegionSize));
1246 newRegionHandle = Util.UIntsToLong((uint)((thisx - 1) * 256), (uint)(thisy * 256)); 1246 newRegionHandle = Util.UIntsToLong((uint)((thisx - 1) * Constants.RegionSize), (uint)(thisy * Constants.RegionSize));
1247 // x - 1 1247 // x - 1
1248 } 1248 }
1249 1249
1250 if (position.Y > 257f) 1250 if (position.Y > Constants.RegionSize + 0.1f)
1251 { 1251 {
1252 pos.Y = ((pos.Y - 256)); 1252 pos.Y = ((pos.Y - Constants.RegionSize));
1253 newRegionHandle = Util.UIntsToLong((uint)(thisx * 256), (uint)((thisy + 1) * 256)); 1253 newRegionHandle = Util.UIntsToLong((uint)(thisx * Constants.RegionSize), (uint)((thisy + 1) * Constants.RegionSize));
1254 // y + 1 1254 // y + 1
1255 } 1255 }
1256 else if (position.Y < -1f) 1256 else if (position.Y < -1f)
1257 { 1257 {
1258 pos.Y = ((pos.Y + 256)); 1258 pos.Y = ((pos.Y + Constants.RegionSize));
1259 newRegionHandle = Util.UIntsToLong((uint)(thisx * 256), (uint)((thisy - 1) * 256)); 1259 newRegionHandle = Util.UIntsToLong((uint)(thisx * Constants.RegionSize), (uint)((thisy - 1) * Constants.RegionSize));
1260 // y - 1 1260 // y - 1
1261 } 1261 }
1262 1262
diff --git a/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs b/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs
index aa2f2d0..e8d4766 100644
--- a/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs
+++ b/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs
@@ -387,7 +387,7 @@ namespace OpenSim.Region.Environment.Scenes
387 // This may need to be updated to the maximum draw distance possible.. 387 // This may need to be updated to the maximum draw distance possible..
388 // We might (and probably will) be checking for prim creation from other sims 388 // We might (and probably will) be checking for prim creation from other sims
389 // when the camera crosses the border. 389 // when the camera crosses the border.
390 float idist = 256f; 390 float idist = (float)Constants.RegionSize;
391 391
392 392
393 if (inter.HitTF) 393 if (inter.HitTF)
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);
diff --git a/OpenSim/Region/Physics/BasicPhysicsPlugin/BasicPhysicsPlugin.cs b/OpenSim/Region/Physics/BasicPhysicsPlugin/BasicPhysicsPlugin.cs
index a32bca5..d767eab 100644
--- a/OpenSim/Region/Physics/BasicPhysicsPlugin/BasicPhysicsPlugin.cs
+++ b/OpenSim/Region/Physics/BasicPhysicsPlugin/BasicPhysicsPlugin.cs
@@ -137,7 +137,7 @@ namespace OpenSim.Region.Physics.BasicPhysicsPlugin
137 { 137 {
138 actor.Position.Y = 0.1F; 138 actor.Position.Y = 0.1F;
139 } 139 }
140 else if (actor.Position.Y >= 256) 140 else if (actor.Position.Y >= Constants.RegionSize)
141 { 141 {
142 actor.Position.Y = 255.9F; 142 actor.Position.Y = 255.9F;
143 } 143 }
@@ -146,16 +146,16 @@ namespace OpenSim.Region.Physics.BasicPhysicsPlugin
146 { 146 {
147 actor.Position.X = 0.1F; 147 actor.Position.X = 0.1F;
148 } 148 }
149 else if (actor.Position.X >= 256) 149 else if (actor.Position.X >= Constants.RegionSize)
150 { 150 {
151 actor.Position.X = 255.9F; 151 actor.Position.X = 255.9F;
152 } 152 }
153 153
154 float height = _heightMap[(int) actor.Position.Y*256 + (int) actor.Position.X] + 1.0f; 154 float height = _heightMap[(int)actor.Position.Y * Constants.RegionSize + (int)actor.Position.X] + 1.0f;
155 if (actor.Flying) 155 if (actor.Flying)
156 { 156 {
157 if (actor.Position.Z + (actor.Velocity.Z*timeStep) < 157 if (actor.Position.Z + (actor.Velocity.Z*timeStep) <
158 _heightMap[(int) actor.Position.Y*256 + (int) actor.Position.X] + 2) 158 _heightMap[(int)actor.Position.Y * Constants.RegionSize + (int)actor.Position.X] + 2)
159 { 159 {
160 actor.Position.Z = height; 160 actor.Position.Z = height;
161 actor.Velocity.Z = 0; 161 actor.Velocity.Z = 0;
diff --git a/OpenSim/Region/Physics/BulletXPlugin/BulletXPlugin.cs b/OpenSim/Region/Physics/BulletXPlugin/BulletXPlugin.cs
index 5a8589c..314708f 100644
--- a/OpenSim/Region/Physics/BulletXPlugin/BulletXPlugin.cs
+++ b/OpenSim/Region/Physics/BulletXPlugin/BulletXPlugin.cs
@@ -336,7 +336,7 @@ namespace OpenSim.Region.Physics.BulletXPlugin
336 336
337 private const int minXY = 0; 337 private const int minXY = 0;
338 private const int minZ = 0; 338 private const int minZ = 0;
339 private const int maxXY = 256; 339 private const int maxXY = (int)Constants.RegionSize;
340 private const int maxZ = 4096; 340 private const int maxZ = 4096;
341 private const int maxHandles = 32766; //Why? I don't know 341 private const int maxHandles = 32766; //Why? I don't know
342 private const float gravity = 9.8f; 342 private const float gravity = 9.8f;
diff --git a/OpenSim/Region/Physics/OdePlugin/OdePlugin.cs b/OpenSim/Region/Physics/OdePlugin/OdePlugin.cs
index 4fbf653..3d70a3d 100644
--- a/OpenSim/Region/Physics/OdePlugin/OdePlugin.cs
+++ b/OpenSim/Region/Physics/OdePlugin/OdePlugin.cs
@@ -85,9 +85,9 @@ namespace OpenSim.Region.Physics.OdePlugin
85 private static readonly log4net.ILog m_log = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); 85 private static readonly log4net.ILog m_log = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
86 86
87 CollisionLocker ode; 87 CollisionLocker ode;
88 // TODO: this should be hard-coded in some common place 88
89 private const uint m_regionWidth = 256; 89 private const uint m_regionWidth = Constants.RegionSize;
90 private const uint m_regionHeight = 256; 90 private const uint m_regionHeight = Constants.RegionSize;
91 91
92 private static float ODE_STEPSIZE = 0.020f; 92 private static float ODE_STEPSIZE = 0.020f;
93 private static bool RENDER_FLAG = false; 93 private static bool RENDER_FLAG = false;
@@ -585,7 +585,7 @@ namespace OpenSim.Region.Physics.OdePlugin
585 } 585 }
586 private float GetTerrainHeightAtXY(float x, float y) 586 private float GetTerrainHeightAtXY(float x, float y)
587 { 587 {
588 return (float)_origheightmap[(int) y*256 + (int) x]; 588 return (float)_origheightmap[(int)y * Constants.RegionSize + (int)x];
589 589
590 590
591 } 591 }
diff --git a/OpenSim/Region/Physics/POSPlugin/POSPlugin.cs b/OpenSim/Region/Physics/POSPlugin/POSPlugin.cs
index 7652934..3bd25f6 100644
--- a/OpenSim/Region/Physics/POSPlugin/POSPlugin.cs
+++ b/OpenSim/Region/Physics/POSPlugin/POSPlugin.cs
@@ -203,21 +203,21 @@ namespace OpenSim.Region.Physics.POSPlugin
203 { 203 {
204 character.Position.Y = 0.1F; 204 character.Position.Y = 0.1F;
205 } 205 }
206 else if (character.Position.Y >= 256) 206 else if (character.Position.Y >= Constants.RegionSize)
207 { 207 {
208 character.Position.Y = 255.9F; 208 character.Position.Y = Constants.RegionSize - 0.1f;
209 } 209 }
210 210
211 if (character.Position.X < 0) 211 if (character.Position.X < 0)
212 { 212 {
213 character.Position.X = 0.1F; 213 character.Position.X = 0.1F;
214 } 214 }
215 else if (character.Position.X >= 256) 215 else if (character.Position.X >= Constants.RegionSize)
216 { 216 {
217 character.Position.X = 255.9F; 217 character.Position.X = Constants.RegionSize - 0.1f;
218 } 218 }
219 219
220 float terrainheight = _heightMap[(int) character.Position.Y*256 + (int) character.Position.X]; 220 float terrainheight = _heightMap[(int)character.Position.Y * Constants.RegionSize + (int)character.Position.X];
221 if (character.Position.Z + (character._target_velocity.Z*timeStep) < terrainheight + 2) 221 if (character.Position.Z + (character._target_velocity.Z*timeStep) < terrainheight + 2)
222 { 222 {
223 character.Position.Z = terrainheight + 1.0f; 223 character.Position.Z = terrainheight + 1.0f;
@@ -269,18 +269,18 @@ namespace OpenSim.Region.Physics.POSPlugin
269 { 269 {
270 character.Position.Y = 0.1F; 270 character.Position.Y = 0.1F;
271 } 271 }
272 else if (character.Position.Y >= 256) 272 else if (character.Position.Y >= Constants.RegionSize)
273 { 273 {
274 character.Position.Y = 255.9F; 274 character.Position.Y = Constants.RegionSize - 0.1f;
275 } 275 }
276 276
277 if (character.Position.X < 0) 277 if (character.Position.X < 0)
278 { 278 {
279 character.Position.X = 0.1F; 279 character.Position.X = 0.1F;
280 } 280 }
281 else if (character.Position.X >= 256) 281 else if (character.Position.X >= Constants.RegionSize)
282 { 282 {
283 character.Position.X = 255.9F; 283 character.Position.X = Constants.RegionSize - 0.1f;
284 } 284 }
285 285
286 character._velocity.X = (character.Position.X - oldposX)/timeStep; 286 character._velocity.X = (character.Position.X - oldposX)/timeStep;
diff --git a/OpenSim/Region/ScriptEngine/Common/LSL_BuiltIn_Commands.cs b/OpenSim/Region/ScriptEngine/Common/LSL_BuiltIn_Commands.cs
index 2fc610a..c350301 100644
--- a/OpenSim/Region/ScriptEngine/Common/LSL_BuiltIn_Commands.cs
+++ b/OpenSim/Region/ScriptEngine/Common/LSL_BuiltIn_Commands.cs
@@ -2232,7 +2232,7 @@ namespace OpenSim.Region.ScriptEngine.Common
2232 public LSL_Types.Vector3 llGetRegionCorner() 2232 public LSL_Types.Vector3 llGetRegionCorner()
2233 { 2233 {
2234 m_host.AddScriptLPS(1); 2234 m_host.AddScriptLPS(1);
2235 return new LSL_Types.Vector3(World.RegionInfo.RegionLocX * 256, World.RegionInfo.RegionLocY * 256, 0); 2235 return new LSL_Types.Vector3(World.RegionInfo.RegionLocX * Constants.RegionSize, World.RegionInfo.RegionLocY * Constants.RegionSize, 0);
2236 } 2236 }
2237 2237
2238 public LSL_Types.list llListInsertList(LSL_Types.list dest, LSL_Types.list src, int start) 2238 public LSL_Types.list llListInsertList(LSL_Types.list dest, LSL_Types.list src, int start)
diff --git a/OpenSim/Region/ScriptEngine/DotNetEngine/Compiler/LSL/Compiler.cs b/OpenSim/Region/ScriptEngine/DotNetEngine/Compiler/LSL/Compiler.cs
index 5c8b4b5..58586c0 100644
--- a/OpenSim/Region/ScriptEngine/DotNetEngine/Compiler/LSL/Compiler.cs
+++ b/OpenSim/Region/ScriptEngine/DotNetEngine/Compiler/LSL/Compiler.cs
@@ -272,41 +272,59 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.LSL
272 switch (l) 272 switch (l)
273 { 273 {
274 case enumCompileType.cs: 274 case enumCompileType.cs:
275 compileScript = String.Empty + 275 compileScript = CreateCSCompilerScript(compileScript);
276 "using OpenSim.Region.ScriptEngine.Common; using System.Collections.Generic;\r\n" +
277 String.Empty + "namespace SecondLife { " +
278 String.Empty + "public class Script : OpenSim.Region.ScriptEngine.Common.LSL_BaseClass { \r\n" +
279 @"public Script() { } " +
280 compileScript +
281 "} }\r\n";
282 break; 276 break;
283 case enumCompileType.vb: 277 case enumCompileType.vb:
284 compileScript = String.Empty + 278 compileScript = CreateVBCompilerScript(compileScript);
285 "Imports OpenSim.Region.ScriptEngine.Common: Imports System.Collections.Generic: " +
286 String.Empty + "NameSpace SecondLife:" +
287 String.Empty + "Public Class Script: Inherits OpenSim.Region.ScriptEngine.Common.LSL_BaseClass: " +
288 "\r\nPublic Sub New()\r\nEnd Sub: " +
289 compileScript +
290 ":End Class :End Namespace\r\n";
291 break; 279 break;
292 case enumCompileType.js: 280 case enumCompileType.js:
293 compileScript = String.Empty + 281 compileScript = CreateJSCompilerScript(compileScript);
294 "import OpenSim.Region.ScriptEngine.Common; import System.Collections.Generic;\r\n" +
295 "package SecondLife {\r\n" +
296 "class Script extends OpenSim.Region.ScriptEngine.Common.LSL_BaseClass { \r\n" +
297 compileScript +
298 "} }\r\n";
299 break; 282 break;
300 } 283 }
301 return CompileFromCSorVBText(compileScript, l); 284 return CompileFromDotNetText(compileScript, l);
285 }
286
287 private static string CreateJSCompilerScript(string compileScript)
288 {
289 compileScript = String.Empty +
290 "import OpenSim.Region.ScriptEngine.Common; import System.Collections.Generic;\r\n" +
291 "package SecondLife {\r\n" +
292 "class Script extends OpenSim.Region.ScriptEngine.Common.LSL_BaseClass { \r\n" +
293 compileScript +
294 "} }\r\n";
295 return compileScript;
296 }
297
298 private static string CreateCSCompilerScript(string compileScript)
299 {
300 compileScript = String.Empty +
301 "using OpenSim.Region.ScriptEngine.Common; using System.Collections.Generic;\r\n" +
302 String.Empty + "namespace SecondLife { " +
303 String.Empty + "public class Script : OpenSim.Region.ScriptEngine.Common.LSL_BaseClass { \r\n" +
304 @"public Script() { } " +
305 compileScript +
306 "} }\r\n";
307 return compileScript;
308 }
309
310 private static string CreateVBCompilerScript(string compileScript)
311 {
312 compileScript = String.Empty +
313 "Imports OpenSim.Region.ScriptEngine.Common: Imports System.Collections.Generic: " +
314 String.Empty + "NameSpace SecondLife:" +
315 String.Empty + "Public Class Script: Inherits OpenSim.Region.ScriptEngine.Common.LSL_BaseClass: " +
316 "\r\nPublic Sub New()\r\nEnd Sub: " +
317 compileScript +
318 ":End Class :End Namespace\r\n";
319 return compileScript;
302 } 320 }
303 321
304 /// <summary> 322 /// <summary>
305 /// Compile CS script to .Net assembly (.dll) 323 /// Compile .NET script to .Net assembly (.dll)
306 /// </summary> 324 /// </summary>
307 /// <param name="Script">CS script</param> 325 /// <param name="Script">CS script</param>
308 /// <returns>Filename to .dll assembly</returns> 326 /// <returns>Filename to .dll assembly</returns>
309 internal string CompileFromCSorVBText(string Script, enumCompileType lang) 327 internal string CompileFromDotNetText(string Script, enumCompileType lang)
310 { 328 {
311 string ext = "." + lang.ToString(); 329 string ext = "." + lang.ToString();
312 330