From fac72d540b029ba72195dca69c56034167835d60 Mon Sep 17 00:00:00 2001
From: Jak Daniels
Date: Wed, 30 Jan 2013 21:43:35 +0000
Subject: Allow use of MaptileStaticUUID in Regions.ini to override the global
 setting in OpenSim.ini for each region.

Signed-off-by: BlueWall <jamesh@bluewallgroup.com>
---
 OpenSim/Framework/RegionInfo.cs | 27 ++++++++++++++++++++++++++-
 1 file changed, 26 insertions(+), 1 deletion(-)

(limited to 'OpenSim/Framework')

diff --git a/OpenSim/Framework/RegionInfo.cs b/OpenSim/Framework/RegionInfo.cs
index 016f2a6..24b9c89 100644
--- a/OpenSim/Framework/RegionInfo.cs
+++ b/OpenSim/Framework/RegionInfo.cs
@@ -143,6 +143,7 @@ namespace OpenSim.Framework
         public UUID RegionID = UUID.Zero;
         public string RemotingAddress;
         public UUID ScopeID = UUID.Zero;
+        private UUID m_maptileStaticUUID = UUID.Zero;
 
         private Dictionary<String, String> m_otherSettings = new Dictionary<string, string>();
 
@@ -338,6 +339,11 @@ namespace OpenSim.Framework
             get { return m_regionType; }
         }
 
+        public UUID MaptileStaticUUID
+        {
+            get { return m_maptileStaticUUID; }
+        }
+        
         /// <summary>
         /// The port by which http communication occurs with the region (most noticeably, CAPS communication)
         /// </summary>
@@ -641,7 +647,7 @@ namespace OpenSim.Framework
             m_regionType = config.GetString("RegionType", String.Empty);
             allKeys.Remove("RegionType");
 
-            #region Prim stuff
+            #region Prim and map stuff
 
             m_nonphysPrimMin = config.GetFloat("NonPhysicalPrimMin", 0);
             allKeys.Remove("NonPhysicalPrimMin");
@@ -663,6 +669,13 @@ namespace OpenSim.Framework
 
             m_linksetCapacity = config.GetInt("LinksetPrims", 0);
             allKeys.Remove("LinksetPrims");
+
+            allKeys.Remove("MaptileStaticUUID");
+            string mapTileStaticUUID = config.GetString("MaptileStaticUUID", UUID.Zero.ToString());
+            if (UUID.TryParse(mapTileStaticUUID.Trim(), out m_maptileStaticUUID))
+            {
+                config.Set("MaptileStaticUUID", m_maptileStaticUUID.ToString()); 
+            }
             
             #endregion
 
@@ -729,6 +742,9 @@ namespace OpenSim.Framework
 
             if (RegionType != String.Empty)
                 config.Set("RegionType", RegionType);
+
+            if (m_maptileStaticUUID != UUID.Zero)
+                config.Set("MaptileStaticUUID", m_maptileStaticUUID.ToString());
         }
 
         public bool ignoreIncomingConfiguration(string configuration_key, object configuration_result)
@@ -827,6 +843,9 @@ namespace OpenSim.Framework
 
             configMember.addConfigurationOption("region_type", ConfigurationOption.ConfigurationTypes.TYPE_STRING,
                                                 "Free form string describing the type of region", String.Empty, true);
+            
+            configMember.addConfigurationOption("region_static_maptile", ConfigurationOption.ConfigurationTypes.TYPE_UUID,
+                                                "UUID of a texture to use as the map for this region", m_maptileStaticUUID.ToString(), true);
         }
 
         public void loadConfigurationOptions()
@@ -880,6 +899,9 @@ namespace OpenSim.Framework
 
             configMember.addConfigurationOption("region_type", ConfigurationOption.ConfigurationTypes.TYPE_STRING,
                                                 "Region Type", String.Empty, true);
+
+            configMember.addConfigurationOption("region_static_maptile", ConfigurationOption.ConfigurationTypes.TYPE_UUID,
+                                                "UUID of a texture to use as the map for this region", String.Empty, true);
         }
 
         public bool handleIncomingConfiguration(string configuration_key, object configuration_result)
@@ -949,6 +971,9 @@ namespace OpenSim.Framework
                 case "region_type":
                     m_regionType = (string)configuration_result;
                     break;
+                case "region_static_maptile":
+                    m_maptileStaticUUID = (UUID)configuration_result;
+                    break;
             }
 
             return true;
-- 
cgit v1.1