Example #1
0
        private List <RegionInfo> GetRegionsByFlag(UUID scopeID, RegionFlags flags)
        {
            var result = new List <RegionInfo>();

            using (var connection = new MySqlConnection(m_ConnectionString))
            {
                connection.Open();
                using (var cmd = new MySqlCommand(scopeID == UUID.Zero ?
                                                  "SELECT * FROM regions WHERE flags & @flag != 0" :
                                                  "SELECT * FROM regions WHERE flags & @flag != 0 AND ScopeID = @scopeid", connection))
                {
                    cmd.Parameters.AddParameter("@flag", flags);
                    if (scopeID != UUID.Zero)
                    {
                        cmd.Parameters.AddParameter("@scopeid", scopeID);
                    }
                    using (MySqlDataReader dbReader = cmd.ExecuteReader())
                    {
                        while (dbReader.Read())
                        {
                            result.Add(ToRegionInfo(dbReader));
                        }
                    }
                }
            }

            return(result);
        }
Example #2
0
    private RegionFlags createPerlin2D(byte[,,] data, int regionX, int regionY, int regionZ)
    {
        RegionFlags flags = new RegionFlags();

        for (int x = 0; x < data.GetLength(0); x++)
        {
            for (int z = 0; z < data.GetLength(2); z++)
            {
                int xi = regionX + x;
                int zi = regionZ + z;


                int stone      = PerlinNoise(xi, 751, zi, 550, 7f, 3f);
                int lowHills   = PerlinNoise(xi, 400, zi, 200, 6f, 3f);
                int roughness1 = PerlinNoise(xi, 231, zi, 20, 2f, 2.5f);
                int roughness2 = PerlinNoise(xi, 845, zi, 50, 2f, 1.5f);
                int roughness3 = PerlinNoise(xi, 19, zi, 100, 3f, 3.5f);
                int val        = stone + lowHills + roughness1 + roughness2 + roughness3;
                for (int y = 0; y < data.GetLength(1); y++)
                {
                    int yi = regionY + y;
                    if (yi <= val)
                    {
                        data [x, y, z]   = 1;
                        flags.isEmptyAir = false;
                    }
                }
            }
        }
        return(flags);
    }
Example #3
0
        private void InitializeDefaults()
        {
            RegionFlags =
                RegionFlags.AllowLandmark |
                RegionFlags.AllowSetHome |
                RegionFlags.AllowDirectTeleport |
                RegionFlags.AllowParcelChanges |
                RegionFlags.ExternallyVisible |
                RegionFlags.MainlandVisible |
                RegionFlags.PublicAllowed;

            SimAccess = SimAccess.PG;

            TerrainHeightRange00 = 0f;
            TerrainHeightRange01 = 20f;
            TerrainHeightRange10 = 0f;
            TerrainHeightRange11 = 20f;

            TerrainStartHeight00 = 0f;
            TerrainStartHeight01 = 40f;
            TerrainStartHeight10 = 0f;
            TerrainStartHeight11 = 40f;

            WaterHeight = 20f;

            ObjectCapacity = UInt32.MaxValue;
            MaxAgents      = Byte.MaxValue;
        }
        public uint GetEstateFlags()
        {
            RegionFlags flags = RegionFlags.None;

            if (m_scene.RegionInfo.EstateSettings.FixedSun)
            {
                flags |= RegionFlags.SunFixed;
            }
            if (m_scene.RegionInfo.EstateSettings.PublicAccess)
            {
                flags |= (RegionFlags.PublicAllowed |
                          RegionFlags.ExternallyVisible);
            }
            if (m_scene.RegionInfo.EstateSettings.AllowVoice)
            {
                flags |= RegionFlags.AllowVoice;
            }
            if (m_scene.RegionInfo.EstateSettings.AllowDirectTeleport)
            {
                flags |= RegionFlags.AllowDirectTeleport;
            }
            if (m_scene.RegionInfo.EstateSettings.DenyAnonymous)
            {
                flags |= RegionFlags.DenyAnonymous;
            }
            if (m_scene.RegionInfo.EstateSettings.DenyIdentified)
            {
                flags |= RegionFlags.DenyIdentified;
            }
            if (m_scene.RegionInfo.EstateSettings.DenyTransacted)
            {
                flags |= RegionFlags.DenyTransacted;
            }
            if (m_scene.RegionInfo.EstateSettings.AbuseEmailToEstateOwner)
            {
                flags |= RegionFlags.AbuseEmailToEstateOwner;
            }
            if (m_scene.RegionInfo.EstateSettings.BlockDwell)
            {
                flags |= RegionFlags.BlockDwell;
            }
            if (m_scene.RegionInfo.EstateSettings.EstateSkipScripts)
            {
                flags |= RegionFlags.EstateSkipScripts;
            }
            if (m_scene.RegionInfo.EstateSettings.ResetHomeOnTeleport)
            {
                flags |= RegionFlags.ResetHomeOnTeleport;
            }
            if (m_scene.RegionInfo.EstateSettings.TaxFree)
            {
                flags |= RegionFlags.TaxFree;
            }
            if (m_scene.RegionInfo.EstateSettings.DenyMinors)
            {
                flags |= (RegionFlags)(1 << 30);
            }

            return((uint)flags);
        }
Example #5
0
        public override void AddRegionFlags(UUID regionID, RegionFlags setflags)
        {
            RegionInfo rInfo;

            if (m_Data.TryGetValue(regionID, out rInfo))
            {
                rInfo.Flags |= setflags;
            }
        }
        public int ReadFrom(byte[] buffer, int offset)
        {
            Guid = Utilities.ToGuidLittleEndian(buffer, offset + 0);
            FileOffset = Utilities.ToInt64LittleEndian(buffer, offset + 16);
            Length = Utilities.ToUInt32LittleEndian(buffer, offset + 24);
            Flags = (RegionFlags)Utilities.ToUInt32LittleEndian(buffer, offset + 28);

            return 32;
        }
 public Region()
 {
     if (chunkManager == null)
     {
         GameObject chunkManagerGO = GameObject.Find("Chunk Manager");
         chunkManager = chunkManagerGO.GetComponent <ChunkManager> ();
     }
     flags = new RegionFlags();
 }
Example #8
0
        public int ReadFrom(byte[] buffer, int offset)
        {
            Guid       = Utilities.ToGuidLittleEndian(buffer, offset + 0);
            FileOffset = Utilities.ToInt64LittleEndian(buffer, offset + 16);
            Length     = Utilities.ToUInt32LittleEndian(buffer, offset + 24);
            Flags      = (RegionFlags)Utilities.ToUInt32LittleEndian(buffer, offset + 28);

            return(32);
        }
Example #9
0
        public override void RemoveRegionFlags(UUID regionID, RegionFlags removeflags)
        {
            RegionInfo rInfo;

            if (m_Data.TryGetValue(regionID, out rInfo))
            {
                rInfo.Flags &= ~removeflags;
            }
        }
Example #10
0
        /// <summary>
        /// Creates a new instance of the <see cref="RegionId"/> class without certain flags set.
        /// </summary>
        /// <param name="region">The region to use.</param>
        /// <param name="flags">The flags to unset.</param>
        /// <returns>A new instnace of the <see cref="RegionId"/> struct without certain flags set.</returns>
        public static RegionId WithoutFlags(RegionId region, RegionFlags flags)
        {
            if ((RegionFlags)((int)flags & ~MaskId) != flags)
            {
                throw new ArgumentException("flags", "The provide region flags are invalid.");
            }

            RegionFlags newFlags = region.Flags & ~flags;

            return(RegionId.FromRawBits((region.bits & MaskId) | (int)newFlags));
        }
Example #11
0
        public override void ChangeRegionDefaultFlags(UUID regionId, RegionFlags addFlags, RegionFlags removeFlags)
        {
            using (var connection = new MySqlConnection(m_ConnectionString))
            {
                connection.Open();
                connection.InsideTransaction((transaction) =>
                {
                    bool haveEntry = false;
                    using (var cmd = new MySqlCommand("SELECT * FROM regiondefaults WHERE uuid = @id LIMIT 1", connection)
                    {
                        Transaction = transaction
                    })
                    {
                        cmd.Parameters.AddParameter("@id", regionId);
                        using (MySqlDataReader reader = cmd.ExecuteReader())
                        {
                            haveEntry = reader.Read();
                        }
                    }

                    if (haveEntry)
                    {
                        using (var cmd = new MySqlCommand("UPDATE regiondefaults SET flags = (flags & @remove) | @add WHERE uuid = @id", connection)
                        {
                            Transaction = transaction
                        })
                        {
                            cmd.Parameters.AddParameter("@remove", ~removeFlags);
                            cmd.Parameters.AddParameter("@add", addFlags);
                            cmd.Parameters.AddParameter("@id", regionId);
                            cmd.ExecuteNonQuery();
                        }
                        using (var cmd = new MySqlCommand("DELETE FROM regiondefaults WHERE flags = 0 AND uuid = @id", connection)
                        {
                            Transaction = transaction
                        })
                        {
                            cmd.Parameters.AddParameter("@id", regionId);
                            cmd.ExecuteNonQuery();
                        }
                    }
                    else
                    {
                        var vals = new Dictionary <string, object>
                        {
                            ["uuid"]  = regionId,
                            ["flags"] = addFlags
                        };
                        connection.InsertInto("regiondefaults", vals, transaction);
                    }
                });
            }
        }
 public override void AddRegionFlags(UUID regionID, RegionFlags setflags)
 {
     using (var conn = new SqlConnection(m_ConnectionString))
     {
         conn.Open();
         using (var cmd = new SqlCommand("UPDATE [" + m_TableName + "] SET flags = flags | @flags WHERE uuid = @regionid", conn))
         {
             cmd.Parameters.AddParameter("@regionid", regionID);
             cmd.Parameters.AddParameter("@flags", setflags);
             cmd.ExecuteNonQuery();
         }
     }
 }
Example #13
0
        /// <summary>
        /// Initializes a new instance of the <see cref="RegionId"/> struct.
        /// </summary>
        /// <param name="id"></param>
        /// <param name="flags"></param>
        public RegionId(int id, RegionFlags flags)
        {
            int masked = id & MaskId;

            if (masked != id)
            {
                throw new ArgumentOutOfRangeException("id", "The provided id is outside of the valid range. The 3 most significant bits must be 0. Maybe you wanted RegionId.FromRawBits()?");
            }

            if ((RegionFlags)((int)flags & ~MaskId) != flags)
            {
                throw new ArgumentException("flags", "The provide region flags are invalid.");
            }

            bits = masked | (int)flags;
        }
Example #14
0
        private void Deserialize()
        {
            if (m_dataStore != null)
            {
                SerializedData regionInfo = m_dataStore.DeserializeOne(m_scene.ID, "regioninfo");

                if (regionInfo != null)
                {
                    OSDMap map = OSDParser.DeserializeJson(Encoding.UTF8.GetString(regionInfo.Data)) as OSDMap;

                    if (map != null)
                    {
                        OwnerID              = map["owner_id"];
                        RegionFlags          = (RegionFlags)(uint)map["region_flags"];
                        SimAccess            = (SimAccess)(int)map["sim_access"];
                        TerrainDetail0       = map["terrain_detail_0"];
                        TerrainDetail1       = map["terrain_detail_1"];
                        TerrainDetail2       = map["terrain_detail_2"];
                        TerrainDetail3       = map["terrain_detail_3"];
                        TerrainHeightRange00 = map["terrain_height_range_00"];
                        TerrainHeightRange01 = map["terrain_height_range_01"];
                        TerrainHeightRange10 = map["terrain_height_range_10"];
                        TerrainHeightRange11 = map["terrain_height_range_11"];
                        TerrainStartHeight00 = map["terrain_start_height_00"];
                        TerrainStartHeight01 = map["terrain_start_height_01"];
                        TerrainStartHeight10 = map["terrain_start_height_10"];
                        TerrainStartHeight11 = map["terrain_start_height_11"];
                        WaterHeight          = map["water_height"];
                        ObjectCapacity       = map["object_capacity"];
                        MaxAgents            = map["avatar_capacity"];
                        UseFixedSun          = map["use_fixed_sun"];
                        UseEstateSun         = map["use_estate_sun"];
                    }

                    // Make sure the simulator access level is set
                    if (SimAccess == SimAccess.Unknown)
                    {
                        SimAccess = SimAccess.PG;
                    }
                }
            }
        }
Example #15
0
 public List<GridRegion> Get(RegionFlags flags, Dictionary<string, bool> sort)
 {
     throw new System.NotImplementedException();
 }
Example #16
0
 public List<GridRegion> Get(RegionFlags regionFlags)
 {
     throw new System.NotImplementedException();
 }
Example #17
0
        private void InitializeDefaults()
        {
            RegionFlags =
                RegionFlags.AllowLandmark |
                RegionFlags.AllowSetHome |
                RegionFlags.AllowDirectTeleport |
                RegionFlags.AllowParcelChanges |
                RegionFlags.ExternallyVisible |
                RegionFlags.MainlandVisible |
                RegionFlags.PublicAllowed;

            SimAccess = SimAccess.PG;

            TerrainHeightRange00 = 0f;
            TerrainHeightRange01 = 20f;
            TerrainHeightRange10 = 0f;
            TerrainHeightRange11 = 20f;

            TerrainStartHeight00 = 0f;
            TerrainStartHeight01 = 40f;
            TerrainStartHeight10 = 0f;
            TerrainStartHeight11 = 40f;

            WaterHeight = 20f;

            ObjectCapacity = UInt32.MaxValue;
            MaxAgents = Byte.MaxValue;
        }
        public bool handleIncomingConfiguration(string configuration_key, object configuration_result)
        {
            switch (configuration_key)
            {
            case "region_flags":
                RegionFlags flags = (RegionFlags)(uint)configuration_result;
                if ((flags & (RegionFlags)(1 << 29)) != 0)
                {
                    m_AllowVoice = true;
                }
                if ((flags & RegionFlags.AllowDirectTeleport) != 0)
                {
                    m_AllowDirectTeleport = true;
                }
                if ((flags & RegionFlags.DenyAnonymous) != 0)
                {
                    m_DenyAnonymous = true;
                }
                if ((flags & RegionFlags.DenyIdentified) != 0)
                {
                    m_DenyIdentified = true;
                }
                if ((flags & RegionFlags.DenyTransacted) != 0)
                {
                    m_DenyTransacted = true;
                }
                if ((flags & RegionFlags.AbuseEmailToEstateOwner) != 0)
                {
                    m_AbuseEmailToEstateOwner = true;
                }
                if ((flags & RegionFlags.BlockDwell) != 0)
                {
                    m_BlockDwell = true;
                }
                if ((flags & RegionFlags.EstateSkipScripts) != 0)
                {
                    m_EstateSkipScripts = true;
                }
                if ((flags & RegionFlags.ResetHomeOnTeleport) != 0)
                {
                    m_ResetHomeOnTeleport = true;
                }
                if ((flags & RegionFlags.TaxFree) != 0)
                {
                    m_TaxFree = true;
                }
                if ((flags & RegionFlags.PublicAllowed) != 0)
                {
                    m_PublicAccess = true;
                }
                break;

            case "billable_factor":
                m_BillableFactor = (float)configuration_result;
                break;

//                case "estate_id":
//                    m_EstateID = (uint) configuration_result;
//                    break;
//                case "parent_estate_id":
//                    m_ParentEstateID = (uint) configuration_result;
//                    break;
            case "redirect_grid_x":
                m_RedirectGridX = (int)configuration_result;
                break;

            case "redirect_grid_y":
                m_RedirectGridY = (int)configuration_result;
                break;

            case "price_per_meter":
                m_PricePerMeter = Convert.ToInt32(configuration_result);
                break;

            case "estate_name":
                m_EstateName = (string)configuration_result;
                break;

            case "estate_manager_0":
                AddEstateManager((UUID)configuration_result);
                break;

            case "estate_manager_1":
                AddEstateManager((UUID)configuration_result);
                break;

            case "estate_manager_2":
                AddEstateManager((UUID)configuration_result);
                break;

            case "estate_manager_3":
                AddEstateManager((UUID)configuration_result);
                break;

            case "estate_manager_4":
                AddEstateManager((UUID)configuration_result);
                break;

            case "estate_manager_5":
                AddEstateManager((UUID)configuration_result);
                break;

            case "estate_manager_6":
                AddEstateManager((UUID)configuration_result);
                break;

            case "estate_manager_7":
                AddEstateManager((UUID)configuration_result);
                break;

            case "estate_manager_8":
                AddEstateManager((UUID)configuration_result);
                break;

            case "estate_manager_9":
                AddEstateManager((UUID)configuration_result);
                break;
            }

            return(true);
        }
Example #19
0
        private void Deserialize()
        {
            if (m_dataStore != null)
            {
                SerializedData regionInfo = m_dataStore.DeserializeOne(m_scene.ID, "regioninfo");

                if (regionInfo != null)
                {
                    OSDMap map = OSDParser.DeserializeJson(Encoding.UTF8.GetString(regionInfo.Data)) as OSDMap;

                    if (map != null)
                    {
                        OwnerID = map["owner_id"];
                        RegionFlags = (RegionFlags)(uint)map["region_flags"];
                        SimAccess = (SimAccess)(int)map["sim_access"];
                        TerrainDetail0 = map["terrain_detail_0"];
                        TerrainDetail1 = map["terrain_detail_1"];
                        TerrainDetail2 = map["terrain_detail_2"];
                        TerrainDetail3 = map["terrain_detail_3"];
                        TerrainHeightRange00 = map["terrain_height_range_00"];
                        TerrainHeightRange01 = map["terrain_height_range_01"];
                        TerrainHeightRange10 = map["terrain_height_range_10"];
                        TerrainHeightRange11 = map["terrain_height_range_11"];
                        TerrainStartHeight00 = map["terrain_start_height_00"];
                        TerrainStartHeight01 = map["terrain_start_height_01"];
                        TerrainStartHeight10 = map["terrain_start_height_10"];
                        TerrainStartHeight11 = map["terrain_start_height_11"];
                        WaterHeight = map["water_height"];
                        ObjectCapacity = map["object_capacity"];
                        MaxAgents = map["avatar_capacity"];
                        UseFixedSun = map["use_fixed_sun"];
                        UseEstateSun = map["use_estate_sun"];
                    }

                    // Make sure the simulator access level is set
                    if (SimAccess == SimAccess.Unknown)
                        SimAccess = SimAccess.PG;
                }
            }
        }
Example #20
0
 private static RegionFlags ToggleRegionFlag(RegionFlags currentFlags, RegionFlags flag, bool enable)
 {
     return (enable)
         ? currentFlags | flag
         : currentFlags & ~flag;
 }
Example #21
0
 public static bool IsPrelude(this RegionFlags flags)
 {
     // definition of prelude does not depend on fixed-sun
     return((flags & RegionFlags.PreludeUnset) == 0 &&
            (flags & RegionFlags.PreludeSet) != 0);
 }
Example #22
0
 public uint Count(RegionFlags includeFlags, RegionFlags excludeFlags)
 {
     throw new System.NotImplementedException();
 }
Example #23
0
        private void PaintHeaderCell(Cairo.Context cr, Rectangle area, int ci, bool dragging)
        {
            if (ci < 0 || column_cache.Length <= ci)
            {
                return;
            }

            var column_flags = new RegionFlags();

            if (ci == sort_column_index)
            {
                column_flags |= RegionFlags.Sorted;
            }
            if (ci == 0)
            {
                column_flags |= RegionFlags.First;
            }
            if (ci == (column_cache.Length - 1))
            {
                column_flags |= RegionFlags.Last;
            }
            // First column should be odd, but ci starts at 0
            if ((ci + 1) % 2 == 0)
            {
                column_flags |= RegionFlags.Even;
            }
            else
            {
                column_flags |= RegionFlags.Odd;
            }

            StyleContext.Save();
            // RegionFlags.Last is not applied, see https://bugzilla.gnome.org/show_bug.cgi?id=731463
            StyleContext.AddRegion("column-header", column_flags);
            StyleContext.AddClass("button");
            if (dragging)
            {
                // This is not applied in Adwaita, see https://bugzilla.gnome.org/show_bug.cgi?id=731663
                StyleContext.AddClass("dnd");
            }
            StyleContext.RenderBackground(cr, area.X, area.Y, area.Width, area.Height);
            StyleContext.RenderFrame(cr, area.X, area.Y, area.Width, area.Height);

            if (ci == ActiveColumn && HasFocus && HeaderFocused)
            {
                var border   = StyleContext.GetBorder(StyleContext.State);
                var f_x      = area.X + border.Left;
                var f_y      = area.Y + border.Top;
                var f_width  = area.Width - border.Left - border.Right;
                var f_height = area.Height - border.Top - border.Bottom;
                StyleContext.RenderFocus(cr, f_x, f_y, f_width, f_height);
            }

            ColumnCell cell = column_cache[ci].Column.HeaderCell;

            if (cell != null)
            {
                cr.Save();
                cr.Translate(area.X, area.Y);
                cell_context.Area     = area;
                cell_context.Selected = false;
                cell.Render(cell_context, area.Width, area.Height);
                cr.Restore();
            }

            StyleContext.Restore();
        }
Example #24
0
 /// <summary>
 /// Checks if a region has certain flags.
 /// </summary>
 /// <param name="region">The region to check.</param>
 /// <param name="flags">The flags to check.</param>
 /// <returns>A value indicating whether the region has all of the specified flags.</returns>
 public static bool HasFlags(RegionId region, RegionFlags flags)
 {
     return((region.Flags & flags) != 0);
 }
Example #25
0
 private static RegionFlags ToggleRegionFlag(RegionFlags currentFlags, RegionFlags flag, bool enable)
 {
     return((enable)
         ? currentFlags | flag
         : currentFlags& ~flag);
 }
Example #26
0
 public List<GridRegion> Get(uint start, uint count, uint EstateID, RegionFlags flags, Dictionary<string, bool> sort)
 {
     throw new System.NotImplementedException();
 }
Example #27
0
 public List<GridRegion> Get(RegionFlags includeFlags, RegionFlags excludeFlags, uint? start, uint? count, Dictionary<string, bool> sort)
 {
     throw new System.NotImplementedException();
 }
Example #28
0
        public bool Start(Simian server, RegionInfo regionInfo, X509Certificate2 regionCert, string defaultTerrainFile, int staticObjects, int physicalObjects)
        {
            running = true;

            this.server = server;
            this.regionName = regionInfo.Name;
            this.endpoint = regionInfo.IPAndPort;
            this.regionID = regionInfo.ID;
            this.regionCert = regionCert;
            this.regionFlags = regionInfo.Flags;
            this.mapTextureID = regionInfo.MapTextureID;
            this.waterHeight = regionInfo.WaterHeight;

            // Set the properties because this will automatically update the regionHandle
            RegionX = regionInfo.X;
            RegionY = regionInfo.Y;

            #region ISceneProvider Extension Loading

            try
            {
                // Create a list of references for .cs extensions that are compiled at runtime
                List<string> references = new List<string>();
                references.Add("OpenMetaverseTypes.dll");
                references.Add("OpenMetaverse.dll");
                references.Add("Simian.exe");

                // Load extensions from the current executing assembly, Simian.*.dll assemblies on disk, and
                // Simian.*.cs source files on disk.
                extensions.LoadAllExtensions(Assembly.GetExecutingAssembly(),
                    AppDomain.CurrentDomain.BaseDirectory, server.ExtensionList, references,
                    "Simian.*.dll", "Simian.*.cs");

                // Automatically assign extensions that implement interfaces to the list of interface
                // variables in "assignables"
                extensions.AssignExtensions(this, extensions.GetInterfaces(this));

                // Start all of the extensions
                foreach (IExtension<ISceneProvider> extension in extensions.Extensions)
                {
                    // Only print the extension names if this is the first loaded scene
                    if (server.Scenes.Count == 0)
                        Logger.Log("Starting Scene extension " + extension.GetType().Name, Helpers.LogLevel.Info);

                    extension.Start(this);
                }
            }
            catch (ExtensionException ex)
            {
                Logger.Log("SceneManager extension loading failed, shutting down: " + ex.Message, Helpers.LogLevel.Error);
                Stop();
                return false;
            }

            #endregion ISceneProvider Extension Loading

            // Callback registration
            server.Grid.OnRegionUpdate += Grid_OnRegionUpdate;
            udp.OnAgentConnection += udp_OnAgentConnection;
            udp.RegisterPacketCallback(PacketType.CompleteAgentMovement, CompleteAgentMovementHandler);
            
            // Load the default terrain for this sim
            if (!String.IsNullOrEmpty(defaultTerrainFile))
                LoadTerrain(Simian.DATA_DIR + defaultTerrainFile);

            // Start the physics thread
            Thread physicsThread = new Thread(new ThreadStart(PhysicsThread));
            physicsThread.Name = "Physics";
            physicsThread.Start();

            Logger.Log(String.Format("Region {0} online at ({1},{2}) listening on {3}", regionName, regionX, regionY, endpoint),
                Helpers.LogLevel.Info);

            // Tell the grid that this region is online
            regionInfo.Online = true;
            server.Grid.RegionUpdate(regionInfo, regionCert);

            return true;
        }
Example #29
0
 public uint Count(uint EstateID, RegionFlags flags)
 {
     throw new System.NotImplementedException();
 }
Example #30
0
        private void InitializeDefaults()
        {
            ProductName = "Simian";
            ProductSKU = String.Empty;

            RegionFlags = RegionFlags.SkipCollisions | RegionFlags.SkipScripts;
            SimAccess = SimAccess.Min;

            TerrainHeightRange00 = 0f;
            TerrainHeightRange01 = 20f;
            TerrainHeightRange10 = 0f;
            TerrainHeightRange11 = 20f;

            TerrainStartHeight00 = 0f;
            TerrainStartHeight01 = 40f;
            TerrainStartHeight10 = 0f;
            TerrainStartHeight11 = 40f;

            WaterHeight = 20f;

            ObjectCapacity = UInt32.MaxValue;
        }
Example #31
0
        public uint GetRegionFlags()
        {
            RegionFlags flags = RegionFlags.None;

            // Fully implemented
            //
            if (m_scene.RegionInfo.RegionSettings.AllowDamage)
            {
                flags |= RegionFlags.AllowDamage;
            }
            if (m_scene.RegionInfo.RegionSettings.BlockTerraform)
            {
                flags |= RegionFlags.BlockTerraform;
            }
            if (!m_scene.RegionInfo.RegionSettings.AllowLandResell)
            {
                flags |= RegionFlags.BlockLandResell;
            }
            if (m_scene.RegionInfo.RegionSettings.DisableCollisions)
            {
                flags |= RegionFlags.SkipCollisions;
            }
            if (m_scene.RegionInfo.RegionSettings.DisableScripts)
            {
                flags |= RegionFlags.SkipScripts;
            }
            if (m_scene.RegionInfo.RegionSettings.DisablePhysics)
            {
                flags |= RegionFlags.SkipPhysics;
            }
            if (m_scene.RegionInfo.RegionSettings.BlockFly)
            {
                flags |= RegionFlags.NoFly;
            }
            if (m_scene.RegionInfo.RegionSettings.RestrictPushing)
            {
                flags |= RegionFlags.RestrictPushObject;
            }
            if (m_scene.RegionInfo.RegionSettings.AllowLandJoinDivide)
            {
                flags |= RegionFlags.AllowParcelChanges;
            }
            if (m_scene.RegionInfo.RegionSettings.BlockShowInSearch)
            {
                flags |= (RegionFlags)(1 << 29);
            }

            if (m_scene.RegionInfo.RegionSettings.FixedSun)
            {
                flags |= RegionFlags.SunFixed;
            }
            if (m_scene.RegionInfo.RegionSettings.Sandbox)
            {
                flags |= RegionFlags.Sandbox;
            }

            // Fudge these to always on, so the menu options activate
            //
            flags |= RegionFlags.AllowLandmark;
            flags |= RegionFlags.AllowSetHome;

            // TODO: SkipUpdateInterestList

            // Omitted
            //
            // Omitted: NullLayer (what is that?)
            // Omitted: SkipAgentAction (what does it do?)

            return((uint)flags);
        }
Example #32
0
 public static RegionFlags UnsetPrelude(this RegionFlags flags)
 {
     return((flags | RegionFlags.PreludeUnset)
            & ~(RegionFlags.PreludeSet | RegionFlags.SunFixed));
 }
Example #33
0
 public static RegionFlags SetPrelude(this RegionFlags flags)
 {
     return((flags & ~RegionFlags.PreludeUnset)
            | (RegionFlags.PreludeSet | RegionFlags.SunFixed)); // also set the sun-fixed flag
 }
Example #34
0
 public void Deserialize(OSDMap map)
 {
     Name = map["name"].AsString();
     ID = map["id"].AsUUID();
     Handle = map["handle"].AsULong();
     Online = map["online"].AsBoolean();
     IP = MessageUtils.ToIP(map["ip"]);
     Port = map["port"].AsInteger();
     MapTextureID = map["map_texture_id"].AsUUID();
     Owner = map["owner"].AsUri();
     Flags = (RegionFlags)map["region_flags"].AsInteger();
     AgentCount = map["agent_count"].AsInteger();
     Capabilities = MessageUtils.ToDictionaryUri(map["capabilities"]);
     WaterHeight = (float)map["water_height"].AsReal();
     DefaultPosition = map["default_position"].AsVector3();
     DefaultLookAt = map["default_look_at"].AsVector3();
 }
Example #35
0
        private void Deserialize()
        {
            if (m_dataStore != null)
            {
                SerializedData regionInfo = m_dataStore.DeserializeOne(m_scene.ID, "regioninfo");

                if (regionInfo != null)
                {
                    OSDMap map = OSDParser.DeserializeJson(Encoding.UTF8.GetString(regionInfo.Data)) as OSDMap;

                    if (map != null)
                    {
                        OwnerID = map["owner_id"].AsUUID();
                        ProductName = map["product_name"].AsString();
                        ProductSKU = map["product_sku"].AsString();
                        RegionFlags = (RegionFlags)map["region_flags"].AsUInteger();
                        SimAccess = (SimAccess)map["sim_access"].AsInteger();
                        TerrainBase0 = map["terrain_base_0"].AsUUID();
                        TerrainBase1 = map["terrain_base_1"].AsUUID();
                        TerrainBase2 = map["terrain_base_2"].AsUUID();
                        TerrainBase3 = map["terrain_base_3"].AsUUID();
                        TerrainDetail0 = map["terrain_detail_0"].AsUUID();
                        TerrainDetail1 = map["terrain_detail_1"].AsUUID();
                        TerrainDetail2 = map["terrain_detail_2"].AsUUID();
                        TerrainDetail3 = map["terrain_detail_3"].AsUUID();
                        TerrainHeightRange00 = (float)map["terrain_height_range_00"].AsReal();
                        TerrainHeightRange01 = (float)map["terrain_height_range_01"].AsReal();
                        TerrainHeightRange10 = (float)map["terrain_height_range_10"].AsReal();
                        TerrainHeightRange11 = (float)map["terrain_height_range_11"].AsReal();
                        TerrainStartHeight00 = (float)map["terrain_start_height_00"].AsReal();
                        TerrainStartHeight01 = (float)map["terrain_start_height_01"].AsReal();
                        TerrainStartHeight10 = (float)map["terrain_start_height_10"].AsReal();
                        TerrainStartHeight11 = (float)map["terrain_start_height_11"].AsReal();
                        WaterHeight = (float)map["water_height"].AsReal();
                    }
                }
            }
        }
Example #36
0
 public virtual void AddRegionFlags(UUID regionID, RegionFlags setflags)
 {
     throw new NotSupportedException();
 }
Example #37
0
 public virtual void RemoveRegionFlags(UUID regionID, RegionFlags removeflags)
 {
     throw new NotSupportedException();
 }
 public abstract void ChangeRegionDefaultFlags(UUID regionId, RegionFlags addFlags, RegionFlags removeFlags);