diff options
Diffstat (limited to 'OpenSim/Region/Application/OpenSimBase.cs')
-rw-r--r-- | OpenSim/Region/Application/OpenSimBase.cs | 62 |
1 files changed, 60 insertions, 2 deletions
diff --git a/OpenSim/Region/Application/OpenSimBase.cs b/OpenSim/Region/Application/OpenSimBase.cs index fc67f94..c08da18 100644 --- a/OpenSim/Region/Application/OpenSimBase.cs +++ b/OpenSim/Region/Application/OpenSimBase.cs | |||
@@ -395,9 +395,13 @@ namespace OpenSim | |||
395 | scene.SnmpService.BootInfo("Creating region texture", scene); | 395 | scene.SnmpService.BootInfo("Creating region texture", scene); |
396 | } | 396 | } |
397 | 397 | ||
398 | // moved these here as the terrain texture has to be created after the modules are initialized | 398 | // moved these here as the map texture has to be created after the modules are initialized |
399 | // and has to happen before the region is registered with the grid. | 399 | // and has to happen before the region is registered with the grid. |
400 | scene.CreateTerrainTexture(); | 400 | IWorldMapModule mapModule = scene.RequestModuleInterface<IWorldMapModule>(); |
401 | if (mapModule != null) | ||
402 | mapModule.GenerateMaptile(); | ||
403 | else | ||
404 | m_log.WarnFormat("[STARTUP]: No map module available to generate map tile"); | ||
401 | 405 | ||
402 | // TODO : Try setting resource for region xstats here on scene | 406 | // TODO : Try setting resource for region xstats here on scene |
403 | MainServer.Instance.AddStreamHandler(new Region.Framework.Scenes.RegionStatsHandler(regionInfo)); | 407 | MainServer.Instance.AddStreamHandler(new Region.Framework.Scenes.RegionStatsHandler(regionInfo)); |
@@ -867,6 +871,60 @@ namespace OpenSim | |||
867 | { | 871 | { |
868 | regionnum = m_sceneManager.Scenes.Count; | 872 | regionnum = m_sceneManager.Scenes.Count; |
869 | } | 873 | } |
874 | |||
875 | /// <summary> | ||
876 | /// Load the estate information for the provided RegionInfo object. | ||
877 | /// </summary> | ||
878 | /// <param name="regInfo"> | ||
879 | /// A <see cref="RegionInfo"/> | ||
880 | /// </param> | ||
881 | public void PopulateRegionEstateInfo(RegionInfo regInfo) | ||
882 | { | ||
883 | if (m_storageManager.EstateDataStore != null) | ||
884 | { | ||
885 | regInfo.EstateSettings = m_storageManager.EstateDataStore.LoadEstateSettings(regInfo.RegionID, false); | ||
886 | } | ||
887 | |||
888 | if (regInfo.EstateSettings.EstateID == 0) // No record at all | ||
889 | { | ||
890 | MainConsole.Instance.Output("Your region is not part of an estate."); | ||
891 | while (true) | ||
892 | { | ||
893 | string response = MainConsole.Instance.CmdPrompt("Do you wish to join an existing estate?", "no", new List<string>() {"yes", "no"}); | ||
894 | if (response == "no") | ||
895 | { | ||
896 | // Create a new estate | ||
897 | regInfo.EstateSettings = m_storageManager.EstateDataStore.LoadEstateSettings(regInfo.RegionID, true); | ||
898 | |||
899 | regInfo.EstateSettings.EstateName = MainConsole.Instance.CmdPrompt("New estate name", regInfo.EstateSettings.EstateName); | ||
900 | //regInfo.EstateSettings.Save(); | ||
901 | break; | ||
902 | } | ||
903 | else | ||
904 | { | ||
905 | response = MainConsole.Instance.CmdPrompt("Estate name to join", "None"); | ||
906 | if (response == "None") | ||
907 | continue; | ||
908 | |||
909 | List<int> estateIDs = m_storageManager.EstateDataStore.GetEstates(response); | ||
910 | if (estateIDs.Count < 1) | ||
911 | { | ||
912 | MainConsole.Instance.Output("The name you have entered matches no known estate. Please try again"); | ||
913 | continue; | ||
914 | } | ||
915 | |||
916 | int estateID = estateIDs[0]; | ||
917 | |||
918 | regInfo.EstateSettings = m_storageManager.EstateDataStore.LoadEstateSettings(estateID); | ||
919 | |||
920 | if (m_storageManager.EstateDataStore.LinkRegion(regInfo.RegionID, estateID)) | ||
921 | break; | ||
922 | |||
923 | MainConsole.Instance.Output("Joining the estate failed. Please try again."); | ||
924 | } | ||
925 | } | ||
926 | } | ||
927 | } | ||
870 | } | 928 | } |
871 | 929 | ||
872 | 930 | ||