diff options
Diffstat (limited to 'OpenSim/Framework/RegionLoader')
-rw-r--r-- | OpenSim/Framework/RegionLoader/Filesystem/RegionLoaderFileSystem.cs | 29 |
1 files changed, 23 insertions, 6 deletions
diff --git a/OpenSim/Framework/RegionLoader/Filesystem/RegionLoaderFileSystem.cs b/OpenSim/Framework/RegionLoader/Filesystem/RegionLoaderFileSystem.cs index c58c41d..b4b15e4 100644 --- a/OpenSim/Framework/RegionLoader/Filesystem/RegionLoaderFileSystem.cs +++ b/OpenSim/Framework/RegionLoader/Filesystem/RegionLoaderFileSystem.cs | |||
@@ -26,6 +26,7 @@ | |||
26 | */ | 26 | */ |
27 | 27 | ||
28 | using System; | 28 | using System; |
29 | using System.Collections.Generic; | ||
29 | using System.IO; | 30 | using System.IO; |
30 | using Nini.Config; | 31 | using Nini.Config; |
31 | 32 | ||
@@ -60,21 +61,37 @@ namespace OpenSim.Framework.RegionLoader.Filesystem | |||
60 | } | 61 | } |
61 | 62 | ||
62 | string[] configFiles = Directory.GetFiles(regionConfigPath, "*.xml"); | 63 | string[] configFiles = Directory.GetFiles(regionConfigPath, "*.xml"); |
64 | string[] iniFiles = Directory.GetFiles(regionConfigPath, "*.ini"); | ||
63 | 65 | ||
64 | if (configFiles.Length == 0) | 66 | if (configFiles.Length == 0 && iniFiles.Length == 0) |
65 | { | 67 | { |
66 | new RegionInfo("DEFAULT REGION CONFIG", Path.Combine(regionConfigPath, "default.xml"), false, m_configSource); | 68 | new RegionInfo("DEFAULT REGION CONFIG", Path.Combine(regionConfigPath, "default.xml"), false, m_configSource); |
67 | configFiles = Directory.GetFiles(regionConfigPath, "*.xml"); | 69 | configFiles = Directory.GetFiles(regionConfigPath, "*.xml"); |
68 | } | 70 | } |
69 | 71 | ||
70 | RegionInfo[] regionInfos = new RegionInfo[configFiles.Length]; | 72 | List<RegionInfo> regionInfos = new List<RegionInfo>(); |
71 | for (int i = 0; i < configFiles.Length; i++) | 73 | |
74 | int i = 0; | ||
75 | foreach (string file in iniFiles) | ||
76 | { | ||
77 | IConfigSource source = new IniConfigSource(file); | ||
78 | |||
79 | foreach (IConfig config in source.Configs) | ||
80 | { | ||
81 | RegionInfo regionInfo = new RegionInfo("REGION CONFIG #" + (i + 1), file, false, m_configSource, config.Name); | ||
82 | regionInfos.Add(regionInfo); | ||
83 | i++; | ||
84 | } | ||
85 | } | ||
86 | |||
87 | foreach (string file in configFiles) | ||
72 | { | 88 | { |
73 | RegionInfo regionInfo = new RegionInfo("REGION CONFIG #" + (i + 1), configFiles[i], false, m_configSource); | 89 | RegionInfo regionInfo = new RegionInfo("REGION CONFIG #" + (i + 1), file, false, m_configSource); |
74 | regionInfos[i] = regionInfo; | 90 | regionInfos.Add(regionInfo); |
91 | i++; | ||
75 | } | 92 | } |
76 | 93 | ||
77 | return regionInfos; | 94 | return regionInfos.ToArray(); |
78 | } | 95 | } |
79 | } | 96 | } |
80 | } | 97 | } |