diff options
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 @@ | |||
1 | using System; | ||
2 | using System.Collections.Generic; | ||
3 | using System.Text; | ||
4 | |||
5 | namespace 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 @@ | |||
1 | using System; | ||
2 | namespace 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 | |||
29 | using Nini.Config; | ||
30 | using System; | ||
31 | using System.Collections; | ||
32 | using System.Collections.Generic; | ||
33 | using OpenSim.Framework; | ||
34 | using OpenSim.Framework.Console; | ||
35 | using OpenSim.Region.Environment.Interfaces; | ||
36 | using OpenSim.Region.Environment.Scenes; | ||
37 | using libsecondlife; | ||
38 | |||
39 | namespace 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 | ||