/* * Copyright (c) Contributors, http://opensimulator.org/ * See CONTRIBUTORS.TXT for a full list of copyright holders. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: * * Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * * Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * * Neither the name of the OpenSimulator Project nor the * names of its contributors may be used to endorse or promote products * derived from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ using System; using OpenMetaverse; namespace OpenSim.Framework { public class Constants { public const int MaxAgentAttachments = 38; public const int MaxAgentGroups = 60; public const int MaxEstateAccessIds = 500; public const int MaxEstateManagers = 20; // 'RegionSize' is the legacy region size. // DO NOT USE THIS FOR ANY NEW CODE. Use Scene.RegionInfo.RegionSize[XYZ] as a region might not // be the legacy region size. public const uint RegionSize = 256; public const uint RegionHeight = 4096; public const uint MaximumRegionSize = 4096; // Since terrain is stored in 16x16 heights, regions must be a multiple of this number and that is the minimum // but for placement on a grid min must be 256m public const int MinRegionSize = 256; public const int TerrainPatchSize = 16; public const int LandUnit = 4; // parcels only have sizes multiple of this public const float MinSimulationHeight = -100f; public const float MaxSimulationHeight = 50000f; public const float MinTerrainHeightmap = -100f; public const float MaxTerrainHeightmap = 4000f; public const float MinWaterHeight = 0; public const float MaxWaterHeight = 8000f; public const int MaxTextureResolution = 2048; public static readonly string DefaultTexture = "89556747-24cb-43ed-920b-47caed15465f"; //plywood public static readonly UUID DefaultTextureID = new UUID(DefaultTexture); public static readonly string DefaultScript = "2074003b-8d5f-40e5-8b20-581c1c50aedb"; // must be on default assets and cache public static readonly UUID DefaultScriptID = new UUID(DefaultScript); public static readonly string DefaultScriptText = "default\n{\n state_entry()\n {\n llSay(0, \"Script running\");\n }\n}"; public static readonly byte[] DefaultScriptData = osUTF8.GetASCIIBytes(DefaultScriptText); public static readonly string EmptyNotecard = "4b6a777d-7bcd-4fc4-b06f-929b21e32925"; public static readonly UUID EmptyNotecardID = new UUID(EmptyNotecard); public static readonly byte[] EmptyNotecardData = osUTF8.GetASCIIBytes("Linden text version 2\n{\nLLEmbeddedItems version 1\n{\ncount 0\n}\nText length 0\n}\n\0"); public static readonly string DefaultMaterial = "968cbad0-4dad-d64e-71b5-72bf13ad051a"; public static readonly UUID DefaultMaterialID = new UUID(DefaultMaterial); public static readonly string m_MrOpenSimIDString = "11111111-1111-0000-0000-000100bba000"; public static readonly UUID m_MrOpenSimID = new UUID(m_MrOpenSimIDString); public static readonly DateTime m_MrOpenSimBorn = new DateTime(2007, 1, 1, 0, 0, 0, DateTimeKind.Utc); public static readonly string servicesAgentIDString = "6571e388-6218-4574-87db-f9379718315e"; public static readonly UUID servicesGodAgentID = new UUID(servicesAgentIDString); public enum EstateAccessCodex : uint { AllowedAccess = 1, AllowedGroups = 2, EstateBans = 4, EstateManagers = 8 } public enum EstateAccessLimits : int { AllowedAccess = MaxEstateAccessIds, AllowedGroups = 63, EstateBans = 500, EstateManagers = MaxEstateManagers } [Flags]public enum TeleportFlags : uint { /// No flags set, or teleport failed Default = 0, /// Set when newbie leaves help island for first time SetHomeToTarget = 1 << 0, /// SetLastToTarget = 1 << 1, /// Via Lure ViaLure = 1 << 2, /// Via Landmark ViaLandmark = 1 << 3, /// Via Location ViaLocation = 1 << 4, /// Via Home ViaHome = 1 << 5, /// Via Telehub ViaTelehub = 1 << 6, /// Via Login ViaLogin = 1 << 7, /// Linden Summoned ViaGodlikeLure = 1 << 8, /// Linden Forced me Godlike = 1 << 9, /// NineOneOne = 1 << 10, /// Agent Teleported Home via Script DisableCancel = 1 << 11, /// ViaRegionID = 1 << 12, /// IsFlying = 1 << 13, /// ResetHome = 1 << 14, /// forced to new location for example when avatar is banned or ejected ForceRedirect = 1 << 15, /// Teleport Finished via a Lure FinishedViaLure = 1 << 26, /// Finished, Sim Changed FinishedViaNewSim = 1 << 28, /// Finished, Same Sim FinishedViaSameSim = 1 << 29, /// Agent coming into the grid from another grid ViaHGLogin = 1 << 30, notViaHGLogin = 0xbffffff } } }