public static void Editor_Mapas_Mapa_Iluminação(short Índice)
    {
        Editor_Mapas Objetos       = Editor_Mapas.Objetos;
        byte         LuzGlobal_Tex = Listas.Mapa[Índice].LuzGlobal;
        Point        Início        = Globais.Zoom(Editor_Mapas.Objetos.scrlMapaX.Value, Editor_Mapas.Objetos.scrlMapaY.Value);
        byte         Luz           = (byte)((255 * ((decimal)Listas.Mapa[Índice].Iluminação / 100) - 255) * -1);

        // Somente se necessário
        if (!Editor_Mapas.Objetos.butVisualização.Checked)
        {
            return;
        }

        // Escuridão
        Jan_Mapa_Iluminação.Clear(CCor(0, 0, 0, Luz));

        // Desenha o ponto iluminado
        if (Listas.Mapa[Índice].Luz.Count > 0)
        {
            for (byte i = 0; i <= Listas.Mapa[Índice].Luz.Count - 1; i++)
            {
                Desenhar(Jan_Mapa_Iluminação, Tex_Iluminação, Editor_Mapas.Zoom_Grade(Listas.Mapa[Índice].Luz[i].Retângulo), null, new RenderStates(BlendMode.Multiply));
            }
        }

        // Pré visualização
        if (Editor_Mapas.Objetos.butMIluminação.Checked)
        {
            Desenhar(Jan_Mapa_Iluminação, Tex_Iluminação, Globais.Zoom(Editor_Mapas.Mapa_Seleção), null, new RenderStates(BlendMode.Multiply));
        }

        // Apresenta o que foi renderizado
        Jan_Mapa_Iluminação.Display();
        Jan_Mapa.Draw(new Sprite(Jan_Mapa_Iluminação.Texture));

        // Luz global
        if (LuzGlobal_Tex > 0)
        {
            Desenhar(Jan_Mapa, Tex_Luz[LuzGlobal_Tex], Editor_Mapas.Zoom(new Rectangle(new Point(-Início.X, -Início.Y), TTamanho(Tex_Luz[LuzGlobal_Tex]))), CCor(255, 255, 255, 175), new RenderStates(BlendMode.Add));
        }

        // Ponto de remoção da luz
        if (Objetos.butMIluminação.Checked)
        {
            if (Listas.Mapa[Índice].Luz.Count > 0)
            {
                for (byte i = 0; i <= Listas.Mapa[Índice].Luz.Count - 1; i++)
                {
                    DesenharRetângulo(Jan_Mapa, Listas.Mapa[Índice].Luz[i].Retângulo.X * Globais.Grade_Zoom, Listas.Mapa[Índice].Luz[i].Retângulo.Y * Globais.Grade_Zoom, Globais.Grade_Zoom, Globais.Grade_Zoom, CCor(175, 42, 42, 175));
                }
            }
        }

        // Trovoadas
        Size Tamanho = new Size(Editor_Mapas.Zoom((Listas.Mapa[Índice].Largura + 1) * Globais.Grade), Editor_Mapas.Zoom((Listas.Mapa[Índice].Altura + 1) * Globais.Grade));

        Desenhar(Jan_Mapa, Tex_Preenchido, 0, 0, 0, 0, Tamanho.Width, Tamanho.Height, CCor(255, 255, 255, Globais.Relâmpago));
    }
    public static void Editor_Mapas_Mapa_Grades(short Índice)
    {
        Editor_Mapas Objetos = Editor_Mapas.Objetos;
        Rectangle    Fonte = Editor_Mapas.Azulejo_Fonte, Destino = new Rectangle();
        Point        Início = new Point(Editor_Mapas.Mapa_Seleção.X - Objetos.scrlMapaX.Value, Editor_Mapas.Mapa_Seleção.Y - Objetos.scrlMapaY.Value);

        // Dados
        Destino.Location = Globais.Zoom(Início.X, Início.Y);
        Destino.Size     = new Size(Fonte.Width / Editor_Mapas.Zoom(), Fonte.Height / Editor_Mapas.Zoom());

        // Desenha as grades
        if (Objetos.butGrades.Checked || !Objetos.butGrades.Enabled)
        {
            for (byte x = 0; x <= Editor_Mapas.AzulejosVisíveis.Width; x++)
            {
                for (byte y = 0; y <= Editor_Mapas.AzulejosVisíveis.Height; y++)
                {
                    DesenharRetângulo(Jan_Mapa, x * Globais.Grade_Zoom, y * Globais.Grade_Zoom, Globais.Grade_Zoom, Globais.Grade_Zoom, CCor(25, 25, 25, 70));
                    Editor_Mapas_Mapa_Zonas(Índice, x, y);
                    Editor_Mapas_Mapa_Atributos(Índice, x, y);
                    Editor_Mapas_Mapa_BloqDirecional(Índice, x, y);
                }
            }
        }

        if (!Objetos.chkAutomático.Checked && Objetos.butMNormal.Checked)
        {
            // Normal
            if (Objetos.butLápis.Checked)
            {
                Desenhar(Jan_Mapa, Tex_Azulejo[Objetos.cmbAzulejos.SelectedIndex + 1], Fonte, Destino);
            }
            // Retângulo
            else if (Objetos.butRetângulo.Checked)
            {
                for (int x = Início.X; x <= Início.X + Editor_Mapas.Mapa_Seleção.Width - 1; x++)
                {
                    for (int y = Início.Y; y <= Início.Y + Editor_Mapas.Mapa_Seleção.Height - 1; y++)
                    {
                        Desenhar(Jan_Mapa, Tex_Azulejo[Objetos.cmbAzulejos.SelectedIndex + 1], Fonte, new Rectangle(Globais.Zoom(x, y), Destino.Size));
                    }
                }
            }
        }

        // Desenha a grade
        if (!Objetos.butMAtributos.Checked || !Editor_Mapas.Objetos.optABloqueioDir.Checked)
        {
            DesenharRetângulo(Jan_Mapa, Destino.X, Destino.Y, Editor_Mapas.Mapa_Seleção.Width * Globais.Grade_Zoom, Editor_Mapas.Mapa_Seleção.Height * Globais.Grade_Zoom);
        }
    }