aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Application/HGOpenSimNode.cs
diff options
context:
space:
mode:
authorMW2009-01-16 12:52:05 +0000
committerMW2009-01-16 12:52:05 +0000
commiteb5a02298140d5ea23d7e47bcadc084d43a82075 (patch)
tree02e61af820436c90ee8c839716e75d690f46e2c1 /OpenSim/Region/Application/HGOpenSimNode.cs
parentMinor formatting cleanup, add copyright header. (diff)
downloadopensim-SC-eb5a02298140d5ea23d7e47bcadc084d43a82075.zip
opensim-SC-eb5a02298140d5ea23d7e47bcadc084d43a82075.tar.gz
opensim-SC-eb5a02298140d5ea23d7e47bcadc084d43a82075.tar.bz2
opensim-SC-eb5a02298140d5ea23d7e47bcadc084d43a82075.tar.xz
Added some basic relocation mapping support for when loading hypergrid links from a xml file.
Console Command: link-mapping <StartXloc> <StartYloc>. This results in only the last two digits of any of the locations defined in the xml file being used, and those 0-99 values being added to the StartXloc and StartYloc figures. For more infomation, see the email on the mailing list and the soon to be added instructions on the wiki's hypergrid page. Also made the Secion Names in xml file case insensitive.
Diffstat (limited to 'OpenSim/Region/Application/HGOpenSimNode.cs')
-rw-r--r--OpenSim/Region/Application/HGOpenSimNode.cs36
1 files changed, 32 insertions, 4 deletions
diff --git a/OpenSim/Region/Application/HGOpenSimNode.cs b/OpenSim/Region/Application/HGOpenSimNode.cs
index f46c9e3..6a525be 100644
--- a/OpenSim/Region/Application/HGOpenSimNode.cs
+++ b/OpenSim/Region/Application/HGOpenSimNode.cs
@@ -57,6 +57,10 @@ namespace OpenSim
57 private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); 57 private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
58 private IHyperlink HGServices = null; 58 private IHyperlink HGServices = null;
59 59
60 private uint m_autoMappingX = 0;
61 private uint m_autoMappingY = 0;
62 private bool m_enableAutoMapping = false;
63
60 public HGOpenSimNode(IConfigSource configSource) : base(configSource) 64 public HGOpenSimNode(IConfigSource configSource) : base(configSource)
61 { 65 {
62 } 66 }
@@ -140,7 +144,25 @@ namespace OpenSim
140 144
141 public override void RunCmd(string command, string[] cmdparams) 145 public override void RunCmd(string command, string[] cmdparams)
142 { 146 {
143 if (command.Equals("link-region")) 147 if (command.Equals("link-mapping"))
148 {
149 if (cmdparams.Length == 2)
150 {
151 try
152 {
153 m_autoMappingX = Convert.ToUInt32(cmdparams[0]);
154 m_autoMappingY = Convert.ToUInt32(cmdparams[1]);
155 m_enableAutoMapping = true;
156 }
157 catch (Exception)
158 {
159 m_autoMappingX = 0;
160 m_autoMappingY = 0;
161 m_enableAutoMapping = false;
162 }
163 }
164 }
165 else if (command.Equals("link-region"))
144 { 166 {
145 // link-region <Xloc> <Yloc> <HostName> <HttpPort> <LocalName> 167 // link-region <Xloc> <Yloc> <HostName> <HttpPort> <LocalName>
146 if (cmdparams.Length < 4) 168 if (cmdparams.Length < 4)
@@ -203,9 +225,9 @@ namespace OpenSim
203 225
204 if (cmdparams.Length == 2) 226 if (cmdparams.Length == 2)
205 { 227 {
206 if (cmdparams[1].StartsWith("excludeList:")) 228 if (cmdparams[1].ToLower().StartsWith("excludelist:"))
207 { 229 {
208 string excludeString = cmdparams[1]; 230 string excludeString = cmdparams[1].ToLower();
209 excludeString = excludeString.Remove(0, 12); 231 excludeString = excludeString.Remove(0, 12);
210 char[] splitter = { ';' }; 232 char[] splitter = { ';' };
211 233
@@ -220,7 +242,7 @@ namespace OpenSim
220 { 242 {
221 for (int n = 0; n < excludeSections.Length; n++) 243 for (int n = 0; n < excludeSections.Length; n++)
222 { 244 {
223 if (excludeSections[n] == cs.Configs[i].Name) 245 if (excludeSections[n] == cs.Configs[i].Name.ToLower())
224 { 246 {
225 skip = true; 247 skip = true;
226 break; 248 break;
@@ -251,6 +273,12 @@ namespace OpenSim
251 externalPort = Convert.ToUInt32(config.GetString("externalPort", "0")); 273 externalPort = Convert.ToUInt32(config.GetString("externalPort", "0"));
252 externalHostName = config.GetString("externalHostName", ""); 274 externalHostName = config.GetString("externalHostName", "");
253 275
276 if (m_enableAutoMapping)
277 {
278 xloc = (uint)((xloc % 100) + m_autoMappingX);
279 yloc = (uint)((yloc % 100) + m_autoMappingY);
280 }
281
254 if (TryCreateLink(xloc, yloc, externalPort, externalHostName, out regInfo)) 282 if (TryCreateLink(xloc, yloc, externalPort, externalHostName, out regInfo))
255 { 283 {
256 regInfo.RegionName = config.GetString("localName", ""); 284 regInfo.RegionName = config.GetString("localName", "");