Terraria.Lighting.PreRenderPhase C# (CSharp) Method

PreRenderPhase() public static method

public static PreRenderPhase ( ) : void
return void
        public static void PreRenderPhase()
        {
            float num1 = (float)Main.tileColor.R / (float)byte.MaxValue;
            float num2 = (float)Main.tileColor.G / (float)byte.MaxValue;
            float num3 = (float)Main.tileColor.B / (float)byte.MaxValue;
            Stopwatch stopwatch = new Stopwatch();
            stopwatch.Start();
            int num4 = 0;
            int num5 = Main.screenWidth / 16 + Lighting.offScreenTiles * 2 + 10;
            int num6 = 0;
            int num7 = Main.screenHeight / 16 + Lighting.offScreenTiles * 2 + 10;
            Lighting.minX = num5;
            Lighting.maxX = num4;
            Lighting.minY = num7;
            Lighting.maxY = num6;
            Lighting.RGB = Lighting.lightMode == 0 || Lighting.lightMode == 3;
            for (int index1 = num4; index1 < num5; ++index1)
            {
                Lighting.LightingState[] lightingStateArray = Lighting.states[index1];
                for (int index2 = num6; index2 < num7; ++index2)
                {
                    Lighting.LightingState lightingState = lightingStateArray[index2];
                    lightingState.r2 = 0.0f;
                    lightingState.g2 = 0.0f;
                    lightingState.b2 = 0.0f;
                    lightingState.stopLight = false;
                    lightingState.wetLight = false;
                    lightingState.honeyLight = false;
                }
            }
            if (Main.wof >= 0)
            {
                if (Main.player[Main.myPlayer].gross)
                {
                    try
                    {
                        int num8 = (int)Main.screenPosition.Y / 16 - 10;
                        int num9 = (int)((double)Main.screenPosition.Y + (double)Main.screenHeight) / 16 + 10;
                        int num10 = (int)Main.npc[Main.wof].position.X / 16;
                        int num11 = Main.npc[Main.wof].direction <= 0 ? num10 + 2 : num10 - 3;
                        int num12 = num11 + 8;
                        float num13 = (float)(0.5 * (double)Main.demonTorch + 1.0 * (1.0 - (double)Main.demonTorch));
                        float num14 = 0.3f;
                        float num15 = (float)(1.0 * (double)Main.demonTorch + 0.5 * (1.0 - (double)Main.demonTorch));
                        float num16 = num13 * 0.2f;
                        float num17 = num14 * 0.1f;
                        float num18 = num15 * 0.3f;
                        for (int index1 = num11; index1 <= num12; ++index1)
                        {
                            Lighting.LightingState[] lightingStateArray = Lighting.states[index1 - num11];
                            for (int index2 = num8; index2 <= num9; ++index2)
                            {
                                Lighting.LightingState lightingState = lightingStateArray[index2 - Lighting.firstToLightY];
                                if ((double)lightingState.r2 < (double)num16)
                                    lightingState.r2 = num16;
                                if ((double)lightingState.g2 < (double)num17)
                                    lightingState.g2 = num17;
                                if ((double)lightingState.b2 < (double)num18)
                                    lightingState.b2 = num18;
                            }
                        }
                    }
                    catch
                    {
                    }
                }
            }
            Main.sandTiles = 0;
            Main.evilTiles = 0;
            Main.bloodTiles = 0;
            Main.shroomTiles = 0;
            Main.snowTiles = 0;
            Main.holyTiles = 0;
            Main.meteorTiles = 0;
            Main.jungleTiles = 0;
            Main.dungeonTiles = 0;
            Main.campfire = false;
            Main.sunflower = false;
            Main.starInBottle = false;
            Main.heartLantern = false;
            Main.campfire = false;
            Main.clock = false;
            Main.musicBox = -1;
            Main.waterCandles = 0;
            for (int index = 0; index < Main.player[Main.myPlayer].NPCBannerBuff.Length; ++index)
                Main.player[Main.myPlayer].NPCBannerBuff[index] = false;
            Main.player[Main.myPlayer].hasBanner = false;
            int[] numArray = WorldGen.tileCounts;
            int num19 = Lighting.firstToLightX;
            int num20 = Lighting.lastToLightX;
            int num21 = Lighting.firstToLightY;
            int num22 = Lighting.lastToLightY;
            int num23 = (num20 - num19 - Main.zoneX) / 2;
            int num24 = (num22 - num21 - Main.zoneY) / 2;
            Main.fountainColor = -1;
            Main.monolithType = -1;
            for (int index1 = num19; index1 < num20; ++index1)
            {
                Lighting.LightingState[] lightingStateArray = Lighting.states[index1 - Lighting.firstToLightX];
                for (int index2 = num21; index2 < num22; ++index2)
                {
                    Lighting.LightingState lightingState = lightingStateArray[index2 - Lighting.firstToLightY];
                    Tile tile = Main.tile[index1, index2];
                    if (tile == null)
                    {
                        tile = new Tile();
                        Main.tile[index1, index2] = tile;
                    }
                    float num8 = 0.0f;
                    float num9 = 0.0f;
                    float num10 = 0.0f;
                    if ((double)index2 < Main.worldSurface)
                    {
                        if ((!tile.active() || !Main.tileNoSunLight[(int)tile.type] || ((int)tile.slope() != 0 || tile.halfBrick()) && ((int)Main.tile[index1, index2 - 1].liquid == 0 && (int)Main.tile[index1, index2 + 1].liquid == 0) && ((int)Main.tile[index1 - 1, index2].liquid == 0 && (int)Main.tile[index1 + 1, index2].liquid == 0)) && ((double)lightingState.r2 < (double)Lighting.skyColor && (Main.wallLight[(int)tile.wall] || (int)tile.wall == 73) && ((int)tile.liquid < 200 && (!tile.halfBrick() || (int)Main.tile[index1, index2 - 1].liquid < 200))))
                        {
                            num8 = num1;
                            num9 = num2;
                            num10 = num3;
                        }
                        if ((!tile.active() || tile.halfBrick() || !Main.tileNoSunLight[(int)tile.type]) && ((int)tile.wall >= 88 && (int)tile.wall <= 93 && (int)tile.liquid < (int)byte.MaxValue))
                        {
                            num8 = num1;
                            num9 = num2;
                            num10 = num3;
                            switch (tile.wall)
                            {
                                case (byte)88:
                                    num8 *= 0.9f;
                                    num9 *= 0.15f;
                                    num10 *= 0.9f;
                                    break;
                                case (byte)89:
                                    num8 *= 0.9f;
                                    num9 *= 0.9f;
                                    num10 *= 0.15f;
                                    break;
                                case (byte)90:
                                    num8 *= 0.15f;
                                    num9 *= 0.15f;
                                    num10 *= 0.9f;
                                    break;
                                case (byte)91:
                                    num8 *= 0.15f;
                                    num9 *= 0.9f;
                                    num10 *= 0.15f;
                                    break;
                                case (byte)92:
                                    num8 *= 0.9f;
                                    num9 *= 0.15f;
                                    num10 *= 0.15f;
                                    break;
                                case (byte)93:
                                    float num11 = 0.2f;
                                    float num12 = 0.7f - num11;
                                    num8 *= num12 + (float)Main.DiscoR / (float)byte.MaxValue * num11;
                                    num9 *= num12 + (float)Main.DiscoG / (float)byte.MaxValue * num11;
                                    num10 *= num12 + (float)Main.DiscoB / (float)byte.MaxValue * num11;
                                    break;
                            }
                        }
                        if (!Lighting.RGB)
                        {
                            double num11;
                            num10 = (float)(num11 = ((double)num8 + (double)num9 + (double)num10) / 3.0);
                            num9 = (float)num11;
                            num8 = (float)num11;
                        }
                        if ((double)lightingState.r2 < (double)num8)
                            lightingState.r2 = num8;
                        if ((double)lightingState.g2 < (double)num9)
                            lightingState.g2 = num9;
                        if ((double)lightingState.b2 < (double)num10)
                            lightingState.b2 = num10;
                    }
                    float num13 = (float)(0.550000011920929 + Math.Sin((double)Main.GlobalTime * 2.0) * 0.0799999982118607);
                    if (index2 > Main.maxTilesY - 200)
                    {
                        if ((!tile.active() || !Main.tileNoSunLight[(int)tile.type] || ((int)tile.slope() != 0 || tile.halfBrick()) && ((int)Main.tile[index1, index2 - 1].liquid == 0 && (int)Main.tile[index1, index2 + 1].liquid == 0) && ((int)Main.tile[index1 - 1, index2].liquid == 0 && (int)Main.tile[index1 + 1, index2].liquid == 0)) && ((double)lightingState.r2 < (double)num13 && (Main.wallLight[(int)tile.wall] || (int)tile.wall == 73) && ((int)tile.liquid < 200 && (!tile.halfBrick() || (int)Main.tile[index1, index2 - 1].liquid < 200))))
                        {
                            num8 = num13;
                            num9 = num13 * 0.6f;
                            num10 = num13 * 0.2f;
                        }
                        if ((!tile.active() || tile.halfBrick() || !Main.tileNoSunLight[(int)tile.type]) && ((int)tile.wall >= 88 && (int)tile.wall <= 93 && (int)tile.liquid < (int)byte.MaxValue))
                        {
                            num8 = num13;
                            num9 = num13 * 0.6f;
                            num10 = num13 * 0.2f;
                            switch (tile.wall)
                            {
                                case (byte)88:
                                    num8 *= 0.9f;
                                    num9 *= 0.15f;
                                    num10 *= 0.9f;
                                    break;
                                case (byte)89:
                                    num8 *= 0.9f;
                                    num9 *= 0.9f;
                                    num10 *= 0.15f;
                                    break;
                                case (byte)90:
                                    num8 *= 0.15f;
                                    num9 *= 0.15f;
                                    num10 *= 0.9f;
                                    break;
                                case (byte)91:
                                    num8 *= 0.15f;
                                    num9 *= 0.9f;
                                    num10 *= 0.15f;
                                    break;
                                case (byte)92:
                                    num8 *= 0.9f;
                                    num9 *= 0.15f;
                                    num10 *= 0.15f;
                                    break;
                                case (byte)93:
                                    float num11 = 0.2f;
                                    float num12 = 0.7f - num11;
                                    num8 *= num12 + (float)Main.DiscoR / (float)byte.MaxValue * num11;
                                    num9 *= num12 + (float)Main.DiscoG / (float)byte.MaxValue * num11;
                                    num10 *= num12 + (float)Main.DiscoB / (float)byte.MaxValue * num11;
                                    break;
                            }
                        }
                        if (!Lighting.RGB)
                        {
                            double num11;
                            num10 = (float)(num11 = ((double)num8 + (double)num9 + (double)num10) / 3.0);
                            num9 = (float)num11;
                            num8 = (float)num11;
                        }
                        if ((double)lightingState.r2 < (double)num8)
                            lightingState.r2 = num8;
                        if ((double)lightingState.g2 < (double)num9)
                            lightingState.g2 = num9;
                        if ((double)lightingState.b2 < (double)num10)
                            lightingState.b2 = num10;
                    }
                    byte num14 = tile.wall;
                    if ((uint)num14 <= 137U)
                    {
                        if ((int)num14 != 33)
                        {
                            if ((int)num14 != 44)
                            {
                                if ((int)num14 == 137 && (!tile.active() || !Main.tileBlockLight[(int)tile.type]))
                                {
                                    float num11 = 0.4f + (float)(270 - (int)Main.mouseTextColor) / 1500f + (float)Main.rand.Next(0, 50) * 0.0005f;
                                    num8 = 1f * num11;
                                    num9 = 0.5f * num11;
                                    num10 = 0.1f * num11;
                                }
                            }
                            else if (!tile.active() || !Main.tileBlockLight[(int)tile.type])
                            {
                                num8 = (float)((double)Main.DiscoR / (double)byte.MaxValue * 0.150000005960464);
                                num9 = (float)((double)Main.DiscoG / (double)byte.MaxValue * 0.150000005960464);
                                num10 = (float)((double)Main.DiscoB / (double)byte.MaxValue * 0.150000005960464);
                            }
                        }
                        else if (!tile.active() || !Main.tileBlockLight[(int)tile.type])
                        {
                            num8 = 0.09f;
                            num9 = 0.0525f;
                            num10 = 0.24f;
                        }
                    }
                    else if ((uint)num14 <= 166U)
                    {
                        switch (num14)
                        {
                            case (byte)153:
                                num8 = 0.6f;
                                num9 = 0.3f;
                                break;
                            case (byte)154:
                                num8 = 0.6f;
                                num10 = 0.6f;
                                break;
                            case (byte)155:
                                num8 = 0.6f;
                                num9 = 0.6f;
                                num10 = 0.6f;
                                break;
                            case (byte)156:
                                num9 = 0.6f;
                                break;
                            case (byte)164:
                                num8 = 0.6f;
                                break;
                            case (byte)165:
                                num10 = 0.6f;
                                break;
                            case (byte)166:
                                num8 = 0.6f;
                                num9 = 0.6f;
                                break;
                        }
                    }
                    else
                    {
                        switch (num14)
                        {
                            case (byte)174:
                                if (!tile.active() || !Main.tileBlockLight[(int)tile.type])
                                {
                                    num8 = 0.2975f;
                                    break;
                                }
                                break;
                            case (byte)175:
                                if (!tile.active() || !Main.tileBlockLight[(int)tile.type])
                                {
                                    num8 = 0.075f;
                                    num9 = 0.15f;
                                    num10 = 0.4f;
                                    break;
                                }
                                break;
                            case (byte)176:
                                if (!tile.active() || !Main.tileBlockLight[(int)tile.type])
                                {
                                    num8 = 0.1f;
                                    num9 = 0.1f;
                                    num10 = 0.1f;
                                    break;
                                }
                                break;
                            case (byte)182:
                                if (!tile.active() || !Main.tileBlockLight[(int)tile.type])
                                {
                                    num8 = 0.24f;
                                    num9 = 0.12f;
                                    num10 = 0.09f;
                                    break;
                                }
                                break;
                        }
                    }
                    if (tile.active())
                    {
                        if (index1 > num19 + num23 && index1 < num20 - num23 && (index2 > num21 + num24 && index2 < num22 - num24))
                        {
                            ++numArray[(int)tile.type];
                            if ((int)tile.type == 215 && (int)tile.frameY < 36)
                                Main.campfire = true;
                            if ((int)tile.type == 405)
                                Main.campfire = true;
                            if ((int)tile.type == 42 && (int)tile.frameY >= 324 && (int)tile.frameY <= 358)
                                Main.heartLantern = true;
                            if ((int)tile.type == 42 && (int)tile.frameY >= 252 && (int)tile.frameY <= 286)
                                Main.starInBottle = true;
                            if ((int)tile.type == 91 && ((int)tile.frameX >= 396 || (int)tile.frameY >= 54))
                            {
                                int index3 = (int)tile.frameX / 18 - 21;
                                int num11 = (int)tile.frameY;
                                while (num11 >= 54)
                                {
                                    index3 = index3 + 90 + 21;
                                    num11 -= 54;
                                }
                                Main.player[Main.myPlayer].NPCBannerBuff[index3] = true;
                                Main.player[Main.myPlayer].hasBanner = true;
                            }
                        }
                        switch (tile.type)
                        {
                            case (ushort)139:
                                if ((int)tile.frameX >= 36)
                                {
                                    Main.musicBox = (int)tile.frameY / 36;
                                    break;
                                }
                                break;
                            case (ushort)207:
                                if ((int)tile.frameY >= 72)
                                {
                                    switch ((int)tile.frameX / 36)
                                    {
                                        case 0:
                                            Main.fountainColor = 0;
                                            break;
                                        case 1:
                                            Main.fountainColor = 6;
                                            break;
                                        case 2:
                                            Main.fountainColor = 3;
                                            break;
                                        case 3:
                                            Main.fountainColor = 5;
                                            break;
                                        case 4:
                                            Main.fountainColor = 2;
                                            break;
                                        case 5:
                                            Main.fountainColor = 10;
                                            break;
                                        case 6:
                                            Main.fountainColor = 4;
                                            break;
                                        case 7:
                                            Main.fountainColor = 9;
                                            break;
                                        default:
                                            Main.fountainColor = -1;
                                            break;
                                    }
                                }
                                else
                                    break;
                                break;
                            case (ushort)410:
                                if ((int)tile.frameY >= 56)
                                {
                                    Main.monolithType = (int)tile.frameX / 36;
                                    break;
                                }
                                break;
                        }
                        if (Main.tileBlockLight[(int)tile.type] && (Lighting.lightMode >= 2 || (int)tile.type != 131 && !tile.inActive() && (int)tile.slope() == 0))
                            lightingState.stopLight = true;
                        if ((int)tile.type == 104)
                            Main.clock = true;
                        if (Main.tileLighted[(int)tile.type])
                        {
                            ushort num11 = tile.type;
                            if ((uint)num11 <= 160U)
                            {
                                if ((uint)num11 <= 72U)
                                {
                                    if ((uint)num11 <= 37U)
                                    {
                                        if ((uint)num11 <= 17U)
                                        {
                                            if ((int)num11 != 4)
                                            {
                                                if ((int)num11 == 17)
                                                    goto label_331;
                                                else
                                                    goto label_405;
                                            }
                                            else if ((int)tile.frameX < 66)
                                            {
                                                switch ((int)tile.frameY / 22)
                                                {
                                                    case 0:
                                                        num8 = 1f;
                                                        num9 = 0.95f;
                                                        num10 = 0.8f;
                                                        goto label_405;
                                                    case 1:
                                                        num8 = 0.0f;
                                                        num9 = 0.1f;
                                                        num10 = 1.3f;
                                                        goto label_405;
                                                    case 2:
                                                        num8 = 1f;
                                                        num9 = 0.1f;
                                                        num10 = 0.1f;
                                                        goto label_405;
                                                    case 3:
                                                        num8 = 0.0f;
                                                        num9 = 1f;
                                                        num10 = 0.1f;
                                                        goto label_405;
                                                    case 4:
                                                        num8 = 0.9f;
                                                        num9 = 0.0f;
                                                        num10 = 0.9f;
                                                        goto label_405;
                                                    case 5:
                                                        num8 = 1.3f;
                                                        num9 = 1.3f;
                                                        num10 = 1.3f;
                                                        goto label_405;
                                                    case 6:
                                                        num8 = 0.9f;
                                                        num9 = 0.9f;
                                                        num10 = 0.0f;
                                                        goto label_405;
                                                    case 7:
                                                        num8 = (float)(0.5 * (double)Main.demonTorch + 1.0 * (1.0 - (double)Main.demonTorch));
                                                        num9 = 0.3f;
                                                        num10 = (float)(1.0 * (double)Main.demonTorch + 0.5 * (1.0 - (double)Main.demonTorch));
                                                        goto label_405;
                                                    case 8:
                                                        num8 = 0.85f;
                                                        num9 = 1f;
                                                        num10 = 0.7f;
                                                        goto label_405;
                                                    case 9:
                                                        num8 = 0.7f;
                                                        num9 = 0.85f;
                                                        num10 = 1f;
                                                        goto label_405;
                                                    case 10:
                                                        num8 = 1f;
                                                        num9 = 0.5f;
                                                        num10 = 0.0f;
                                                        goto label_405;
                                                    case 11:
                                                        num8 = 1.25f;
                                                        num9 = 1.25f;
                                                        num10 = 0.8f;
                                                        goto label_405;
                                                    case 12:
                                                        num8 = 0.75f;
                                                        num9 = 1.2825f;
                                                        num10 = 1.2f;
                                                        goto label_405;
                                                    case 13:
                                                        num8 = 0.95f;
                                                        num9 = 0.65f;
                                                        num10 = 1.3f;
                                                        goto label_405;
                                                    case 14:
                                                        num8 = (float)Main.DiscoR / (float)byte.MaxValue;
                                                        num9 = (float)Main.DiscoG / (float)byte.MaxValue;
                                                        num10 = (float)Main.DiscoB / (float)byte.MaxValue;
                                                        goto label_405;
                                                    case 15:
                                                        num8 = 1f;
                                                        num9 = 0.0f;
                                                        num10 = 1f;
                                                        goto label_405;
                                                    default:
                                                        num8 = 1f;
                                                        num9 = 0.95f;
                                                        num10 = 0.8f;
                                                        goto label_405;
                                                }
                                            }
                                            else
                                                goto label_405;
                                        }
                                        else
                                        {
                                            switch (num11)
                                            {
                                                case (ushort)22:
                                                    break;
                                                case (ushort)26:
                                                case (ushort)31:
                                                    if ((int)tile.type == 31 && (int)tile.frameX >= 36 || (int)tile.type == 26 && (int)tile.frameX >= 54)
                                                    {
                                                        float num12 = (float)Main.rand.Next(-5, 6) * (1.0f / 400.0f);
                                                        num8 = (float)(0.5 + (double)num12 * 2.0);
                                                        num9 = 0.2f + num12;
                                                        num10 = 0.1f;
                                                        goto label_405;
                                                    }
                                                    else
                                                    {
                                                        float num12 = (float)Main.rand.Next(-5, 6) * (1.0f / 400.0f);
                                                        num8 = 0.31f + num12;
                                                        num9 = 0.1f;
                                                        num10 = (float)(0.439999997615814 + (double)num12 * 2.0);
                                                        goto label_405;
                                                    }
                                                case (ushort)27:
                                                    if ((int)tile.frameY < 36)
                                                    {
                                                        num8 = 0.3f;
                                                        num9 = 0.27f;
                                                        goto label_405;
                                                    }
                                                    else
                                                        goto label_405;
                                                case (ushort)33:
                                                    if ((int)tile.frameX == 0)
                                                    {
                                                        switch ((int)tile.frameY / 22)
                                                        {
                                                            case 19:
                                                                num8 = 0.37f;
                                                                num9 = 0.8f;
                                                                num10 = 1f;
                                                                goto label_405;
                                                            case 20:
                                                                num8 = 0.0f;
                                                                num9 = 0.9f;
                                                                num10 = 1f;
                                                                goto label_405;
                                                            case 21:
                                                                num8 = 0.25f;
                                                                num9 = 0.7f;
                                                                num10 = 1f;
                                                                goto label_405;
                                                            case 25:
                                                                num8 = (float)(0.5 * (double)Main.demonTorch + 1.0 * (1.0 - (double)Main.demonTorch));
                                                                num9 = 0.3f;
                                                                num10 = (float)(1.0 * (double)Main.demonTorch + 0.5 * (1.0 - (double)Main.demonTorch));
                                                                goto label_405;
                                                            case 28:
                                                                num8 = 0.9f;
                                                                num9 = 0.75f;
                                                                num10 = 1f;
                                                                goto label_405;
                                                            case 0:
                                                                num8 = 1f;
                                                                num9 = 0.95f;
                                                                num10 = 0.65f;
                                                                goto label_405;
                                                            case 1:
                                                                num8 = 0.55f;
                                                                num9 = 0.85f;
                                                                num10 = 0.35f;
                                                                goto label_405;
                                                            case 2:
                                                                num8 = 0.65f;
                                                                num9 = 0.95f;
                                                                num10 = 0.5f;
                                                                goto label_405;
                                                            case 3:
                                                                num8 = 0.2f;
                                                                num9 = 0.75f;
                                                                num10 = 1f;
                                                                goto label_405;
                                                            case 14:
                                                                num8 = 1f;
                                                                num9 = 1f;
                                                                num10 = 0.6f;
                                                                goto label_405;
                                                            default:
                                                                num8 = 1f;
                                                                num9 = 0.95f;
                                                                num10 = 0.65f;
                                                                goto label_405;
                                                        }
                                                    }
                                                    else
                                                        goto label_405;
                                                case (ushort)34:
                                                    if ((int)tile.frameX < 54)
                                                    {
                                                        switch ((int)tile.frameY / 54)
                                                        {
                                                            case 7:
                                                                num8 = 0.95f;
                                                                num9 = 0.95f;
                                                                num10 = 0.5f;
                                                                goto label_405;
                                                            case 8:
                                                                num8 = 0.85f;
                                                                num9 = 0.6f;
                                                                num10 = 1f;
                                                                goto label_405;
                                                            case 9:
                                                                num8 = 1f;
                                                                num9 = 0.6f;
                                                                num10 = 0.6f;
                                                                goto label_405;
                                                            case 11:
                                                            case 17:
                                                                num8 = 0.75f;
                                                                num9 = 0.9f;
                                                                num10 = 1f;
                                                                goto label_405;
                                                            case 15:
                                                                num8 = 1f;
                                                                num9 = 1f;
                                                                num10 = 0.7f;
                                                                goto label_405;
                                                            case 18:
                                                                num8 = 1f;
                                                                num9 = 1f;
                                                                num10 = 0.6f;
                                                                goto label_405;
                                                            case 24:
                                                                num8 = 0.37f;
                                                                num9 = 0.8f;
                                                                num10 = 1f;
                                                                goto label_405;
                                                            case 25:
                                                                num8 = 0.0f;
                                                                num9 = 0.9f;
                                                                num10 = 1f;
                                                                goto label_405;
                                                            case 26:
                                                                num8 = 0.25f;
                                                                num9 = 0.7f;
                                                                num10 = 1f;
                                                                goto label_405;
                                                            case 27:
                                                                num8 = 0.55f;
                                                                num9 = 0.85f;
                                                                num10 = 0.35f;
                                                                goto label_405;
                                                            case 28:
                                                                num8 = 0.65f;
                                                                num9 = 0.95f;
                                                                num10 = 0.5f;
                                                                goto label_405;
                                                            case 29:
                                                                num8 = 0.2f;
                                                                num9 = 0.75f;
                                                                num10 = 1f;
                                                                goto label_405;
                                                            case 32:
                                                                num8 = (float)(0.5 * (double)Main.demonTorch + 1.0 * (1.0 - (double)Main.demonTorch));
                                                                num9 = 0.3f;
                                                                num10 = (float)(1.0 * (double)Main.demonTorch + 0.5 * (1.0 - (double)Main.demonTorch));
                                                                goto label_405;
                                                            case 35:
                                                                num8 = 0.9f;
                                                                num9 = 0.75f;
                                                                num10 = 1f;
                                                                goto label_405;
                                                            default:
                                                                num8 = 1f;
                                                                num9 = 0.95f;
                                                                num10 = 0.8f;
                                                                goto label_405;
                                                        }
                                                    }
                                                    else
                                                        goto label_405;
                                                case (ushort)35:
                                                    if ((int)tile.frameX < 36)
                                                    {
                                                        num8 = 0.75f;
                                                        num9 = 0.6f;
                                                        num10 = 0.3f;
                                                        goto label_405;
                                                    }
                                                    else
                                                        goto label_405;
                                                case (ushort)37:
                                                    num8 = 0.56f;
                                                    num9 = 0.43f;
                                                    num10 = 0.15f;
                                                    goto label_405;
                                                default:
                                                    goto label_405;
                                            }
                                        }
                                    }
                                    else if ((uint)num11 <= 49U)
                                    {
                                        if ((int)num11 != 42)
                                        {
                                            if ((int)num11 == 49)
                                            {
                                                num8 = 0.0f;
                                                num9 = 0.35f;
                                                num10 = 0.8f;
                                                goto label_405;
                                            }
                                            else
                                                goto label_405;
                                        }
                                        else if ((int)tile.frameX == 0)
                                        {
                                            switch ((int)tile.frameY / 36)
                                            {
                                                case 0:
                                                    num8 = 0.7f;
                                                    num9 = 0.65f;
                                                    num10 = 0.55f;
                                                    goto label_405;
                                                case 1:
                                                    num8 = 0.9f;
                                                    num9 = 0.75f;
                                                    num10 = 0.6f;
                                                    goto label_405;
                                                case 2:
                                                    num8 = 0.8f;
                                                    num9 = 0.6f;
                                                    num10 = 0.6f;
                                                    goto label_405;
                                                case 3:
                                                    num8 = 0.65f;
                                                    num9 = 0.5f;
                                                    num10 = 0.2f;
                                                    goto label_405;
                                                case 4:
                                                    num8 = 0.5f;
                                                    num9 = 0.7f;
                                                    num10 = 0.4f;
                                                    goto label_405;
                                                case 5:
                                                    num8 = 0.9f;
                                                    num9 = 0.4f;
                                                    num10 = 0.2f;
                                                    goto label_405;
                                                case 6:
                                                    num8 = 0.7f;
                                                    num9 = 0.75f;
                                                    num10 = 0.3f;
                                                    goto label_405;
                                                case 7:
                                                    float num15 = Main.demonTorch * 0.2f;
                                                    num8 = 0.9f - num15;
                                                    num9 = 0.9f - num15;
                                                    num10 = 0.7f + num15;
                                                    goto label_405;
                                                case 8:
                                                    num8 = 0.75f;
                                                    num9 = 0.6f;
                                                    num10 = 0.3f;
                                                    goto label_405;
                                                case 9:
                                                    float num16 = 1f;
                                                    float num17 = 0.3f;
                                                    num10 = 0.5f + Main.demonTorch * 0.2f;
                                                    num8 = num16 - Main.demonTorch * 0.1f;
                                                    num9 = num17 - Main.demonTorch * 0.2f;
                                                    goto label_405;
                                                case 28:
                                                    num8 = 0.37f;
                                                    num9 = 0.8f;
                                                    num10 = 1f;
                                                    goto label_405;
                                                case 29:
                                                    num8 = 0.0f;
                                                    num9 = 0.9f;
                                                    num10 = 1f;
                                                    goto label_405;
                                                case 30:
                                                    num8 = 0.25f;
                                                    num9 = 0.7f;
                                                    num10 = 1f;
                                                    goto label_405;
                                                case 32:
                                                    num8 = (float)(0.5 * (double)Main.demonTorch + 1.0 * (1.0 - (double)Main.demonTorch));
                                                    num9 = 0.3f;
                                                    num10 = (float)(1.0 * (double)Main.demonTorch + 0.5 * (1.0 - (double)Main.demonTorch));
                                                    goto label_405;
                                                case 35:
                                                    num8 = 0.7f;
                                                    num9 = 0.6f;
                                                    num10 = 0.9f;
                                                    goto label_405;
                                                default:
                                                    num8 = 1f;
                                                    num9 = 1f;
                                                    num10 = 1f;
                                                    goto label_405;
                                            }
                                        }
                                        else
                                            goto label_405;
                                    }
                                    else
                                    {
                                        switch (num11)
                                        {
                                            case (ushort)61:
                                                if ((int)tile.frameX == 144)
                                                {
                                                    float num12 = (float)(1.0 + (double)(270 - (int)Main.mouseTextColor) / 400.0);
                                                    float num18 = (float)(0.800000011920929 - (double)(270 - (int)Main.mouseTextColor) / 400.0);
                                                    num8 = 0.42f * num18;
                                                    num9 = 0.81f * num12;
                                                    num10 = 0.52f * num18;
                                                    goto label_405;
                                                }
                                                else
                                                    goto label_405;
                                            case (ushort)70:
                                            case (ushort)71:
                                            case (ushort)72:
                                                goto label_371;
                                            default:
                                                goto label_405;
                                        }
                                    }
                                }
                                else if ((uint)num11 <= 129U)
                                {
                                    if ((uint)num11 <= 84U)
                                    {
                                        switch (num11)
                                        {
                                            case (ushort)77:
                                                num8 = 0.75f;
                                                num9 = 0.45f;
                                                num10 = 0.25f;
                                                goto label_405;
                                            case (ushort)83:
                                                if ((int)tile.frameX == 18 && !Main.dayTime)
                                                {
                                                    num8 = 0.1f;
                                                    num9 = 0.4f;
                                                    num10 = 0.6f;
                                                    goto label_405;
                                                }
                                                else
                                                    goto label_405;
                                            case (ushort)84:
                                                int num25 = (int)tile.frameX / 18;
                                                if (num25 == 2)
                                                {
                                                    float num12 = (float)(270 - (int)Main.mouseTextColor) / 800f;
                                                    if ((double)num12 > 1.0)
                                                        num12 = 1f;
                                                    else if ((double)num12 < 0.0)
                                                        num12 = 0.0f;
                                                    num8 = num12 * 0.7f;
                                                    num9 = num12;
                                                    num10 = num12 * 0.1f;
                                                    goto label_405;
                                                }
                                                else if (num25 == 5)
                                                {
                                                    float num12 = 0.9f;
                                                    num8 = num12;
                                                    num9 = num12 * 0.8f;
                                                    num10 = num12 * 0.2f;
                                                    goto label_405;
                                                }
                                                else if (num25 == 6)
                                                {
                                                    float num12 = 0.08f;
                                                    num9 = num12 * 0.8f;
                                                    num10 = num12;
                                                    goto label_405;
                                                }
                                                else
                                                    goto label_405;
                                            default:
                                                goto label_405;
                                        }
                                    }
                                    else
                                    {
                                        switch (num11)
                                        {
                                            case (ushort)92:
                                                if ((int)tile.frameY <= 18 && (int)tile.frameX == 0)
                                                {
                                                    num8 = 1f;
                                                    num9 = 1f;
                                                    num10 = 1f;
                                                    goto label_405;
                                                }
                                                else
                                                    goto label_405;
                                            case (ushort)93:
                                                if ((int)tile.frameX == 0)
                                                {
                                                    switch ((int)tile.frameY / 54)
                                                    {
                                                        case 1:
                                                            num8 = 0.95f;
                                                            num9 = 0.95f;
                                                            num10 = 0.5f;
                                                            goto label_405;
                                                        case 2:
                                                            num8 = 0.85f;
                                                            num9 = 0.6f;
                                                            num10 = 1f;
                                                            goto label_405;
                                                        case 3:
                                                            num8 = 0.75f;
                                                            num9 = 1f;
                                                            num10 = 0.6f;
                                                            goto label_405;
                                                        case 4:
                                                        case 5:
                                                            num8 = 0.75f;
                                                            num9 = 0.9f;
                                                            num10 = 1f;
                                                            goto label_405;
                                                        case 9:
                                                            num8 = 1f;
                                                            num9 = 1f;
                                                            num10 = 0.7f;
                                                            goto label_405;
                                                        case 13:
                                                            num8 = 1f;
                                                            num9 = 1f;
                                                            num10 = 0.6f;
                                                            goto label_405;
                                                        case 19:
                                                            num8 = 0.37f;
                                                            num9 = 0.8f;
                                                            num10 = 1f;
                                                            goto label_405;
                                                        case 20:
                                                            num8 = 0.0f;
                                                            num9 = 0.9f;
                                                            num10 = 1f;
                                                            goto label_405;
                                                        case 21:
                                                            num8 = 0.25f;
                                                            num9 = 0.7f;
                                                            num10 = 1f;
                                                            goto label_405;
                                                        case 23:
                                                            num8 = (float)(0.5 * (double)Main.demonTorch + 1.0 * (1.0 - (double)Main.demonTorch));
                                                            num9 = 0.3f;
                                                            num10 = (float)(1.0 * (double)Main.demonTorch + 0.5 * (1.0 - (double)Main.demonTorch));
                                                            goto label_405;
                                                        case 24:
                                                            num8 = 0.35f;
                                                            num9 = 0.5f;
                                                            num10 = 0.3f;
                                                            goto label_405;
                                                        case 25:
                                                            num8 = 0.34f;
                                                            num9 = 0.4f;
                                                            num10 = 0.31f;
                                                            goto label_405;
                                                        case 26:
                                                            num8 = 0.25f;
                                                            num9 = 0.32f;
                                                            num10 = 0.5f;
                                                            goto label_405;
                                                        case 29:
                                                            num8 = 0.9f;
                                                            num9 = 0.75f;
                                                            num10 = 1f;
                                                            goto label_405;
                                                        default:
                                                            num8 = 1f;
                                                            num9 = 0.97f;
                                                            num10 = 0.85f;
                                                            goto label_405;
                                                    }
                                                }
                                                else
                                                    goto label_405;
                                            case (ushort)95:
                                                if ((int)tile.frameX < 36)
                                                {
                                                    num8 = 1f;
                                                    num9 = 0.95f;
                                                    num10 = 0.8f;
                                                    goto label_405;
                                                }
                                                else
                                                    goto label_405;
                                            case (ushort)96:
                                                if ((int)tile.frameX >= 36)
                                                    num8 = 0.5f;
                                                num9 = 0.35f;
                                                num10 = 0.1f;
                                                goto label_405;
                                            case (ushort)98:
                                                if ((int)tile.frameY == 0)
                                                    num8 = 1f;
                                                num9 = 0.97f;
                                                num10 = 0.85f;
                                                goto label_405;
                                            case (ushort)100:
                                                goto label_294;
                                            case (ushort)125:
                                                float num26 = (float)Main.rand.Next(28, 42) * 0.01f + (float)(270 - (int)Main.mouseTextColor) / 800f;
                                                num9 = lightingState.g2 = 0.3f * num26;
                                                num10 = lightingState.b2 = 0.6f * num26;
                                                goto label_405;
                                            case (ushort)126:
                                                if ((int)tile.frameX < 36)
                                                {
                                                    num8 = (float)Main.DiscoR / (float)byte.MaxValue;
                                                    num9 = (float)Main.DiscoG / (float)byte.MaxValue;
                                                    num10 = (float)Main.DiscoB / (float)byte.MaxValue;
                                                    goto label_405;
                                                }
                                                else
                                                    goto label_405;
                                            case (ushort)129:
                                                switch ((int)tile.frameX / 18 % 3)
                                                {
                                                    case 0:
                                                        num8 = 0.0f;
                                                        num9 = 0.05f;
                                                        num10 = 0.25f;
                                                        goto label_405;
                                                    case 1:
                                                        num8 = 0.2f;
                                                        num9 = 0.0f;
                                                        num10 = 0.15f;
                                                        goto label_405;
                                                    case 2:
                                                        num8 = 0.1f;
                                                        num9 = 0.0f;
                                                        num10 = 0.2f;
                                                        goto label_405;
                                                    default:
                                                        goto label_405;
                                                }
                                            default:
                                                goto label_405;
                                        }
                                    }
                                }
                                else if ((uint)num11 <= 140U)
                                {
                                    if ((int)num11 != 133)
                                    {
                                        if ((int)num11 != 140)
                                            goto label_405;
                                    }
                                    else
                                        goto label_331;
                                }
                                else if ((int)num11 != 149)
                                {
                                    if ((int)num11 == 160)
                                    {
                                        num8 = (float)((double)Main.DiscoR / (double)byte.MaxValue * 0.25);
                                        num9 = (float)((double)Main.DiscoG / (double)byte.MaxValue * 0.25);
                                        num10 = (float)((double)Main.DiscoB / (double)byte.MaxValue * 0.25);
                                        goto label_405;
                                    }
                                    else
                                        goto label_405;
                                }
                                else if ((int)tile.frameX <= 36)
                                {
                                    switch ((int)tile.frameX / 18)
                                    {
                                        case 0:
                                            num8 = 0.1f;
                                            num9 = 0.2f;
                                            num10 = 0.5f;
                                            break;
                                        case 1:
                                            num8 = 0.5f;
                                            num9 = 0.1f;
                                            num10 = 0.1f;
                                            break;
                                        case 2:
                                            num8 = 0.2f;
                                            num9 = 0.5f;
                                            num10 = 0.1f;
                                            break;
                                    }
                                    num8 *= (float)Main.rand.Next(970, 1031) * (1 / 1000);
                                    num9 *= (float)Main.rand.Next(970, 1031) * (1 / 1000);
                                    num10 *= (float)Main.rand.Next(970, 1031) * (1 / 1000);
                                    goto label_405;
                                }
                                else
                                    goto label_405;
                                num8 = 0.12f;
                                num9 = 0.07f;
                                num10 = 0.32f;
                                goto label_405;
                            }
                            else
                            {
                                if ((uint)num11 <= 286U)
                                {
                                    if ((uint)num11 <= 204U)
                                    {
                                        if ((uint)num11 <= 184U)
                                        {
                                            switch (num11)
                                            {
                                                case (ushort)171:
                                                    int index3 = index1;
                                                    int index4 = index2;
                                                    if ((int)tile.frameX < 10)
                                                    {
                                                        index3 -= (int)tile.frameX;
                                                        index4 -= (int)tile.frameY;
                                                    }
                                                    switch (((int)Main.tile[index3, index4].frameY & 15360) >> 10)
                                                    {
                                                        case 1:
                                                            num8 = 0.1f;
                                                            num9 = 0.1f;
                                                            num10 = 0.1f;
                                                            break;
                                                        case 2:
                                                            num8 = 0.2f;
                                                            break;
                                                        case 3:
                                                            num9 = 0.2f;
                                                            break;
                                                        case 4:
                                                            num10 = 0.2f;
                                                            break;
                                                        case 5:
                                                            num8 = 0.125f;
                                                            num9 = 0.125f;
                                                            break;
                                                        case 6:
                                                            num8 = 0.2f;
                                                            num9 = 0.1f;
                                                            break;
                                                        case 7:
                                                            num8 = 0.125f;
                                                            num9 = 0.125f;
                                                            break;
                                                        case 8:
                                                            num8 = 0.08f;
                                                            num9 = 0.175f;
                                                            break;
                                                        case 9:
                                                            num9 = 0.125f;
                                                            num10 = 0.125f;
                                                            break;
                                                        case 10:
                                                            num8 = 0.125f;
                                                            num10 = 0.125f;
                                                            break;
                                                        case 11:
                                                            num8 = 0.1f;
                                                            num9 = 0.1f;
                                                            num10 = 0.2f;
                                                            break;
                                                        default:
                                                            double num12;
                                                            num10 = (float)(num12 = 0.0);
                                                            num9 = (float)num12;
                                                            num8 = (float)num12;
                                                            break;
                                                    }
                                                    num8 *= 0.5f;
                                                    num9 *= 0.5f;
                                                    num10 *= 0.5f;
                                                    goto label_405;
                                                case (ushort)173:
                                                    goto label_294;
                                                case (ushort)174:
                                                    if ((int)tile.frameX == 0)
                                                    {
                                                        num8 = 1f;
                                                        num9 = 0.95f;
                                                        num10 = 0.65f;
                                                        goto label_405;
                                                    }
                                                    else
                                                        goto label_405;
                                                case (ushort)184:
                                                    if ((int)tile.frameX == 110)
                                                    {
                                                        num8 = 0.25f;
                                                        num9 = 0.1f;
                                                        num10 = 0.0f;
                                                        goto label_405;
                                                    }
                                                    else
                                                        goto label_405;
                                                default:
                                                    goto label_405;
                                            }
                                        }
                                        else if ((int)num11 != 190)
                                        {
                                            if ((int)num11 != 204)
                                                goto label_405;
                                        }
                                        else
                                            goto label_371;
                                    }
                                    else if ((uint)num11 <= 238U)
                                    {
                                        switch (num11)
                                        {
                                            case (ushort)215:
                                                if ((int)tile.frameY < 36)
                                                {
                                                    float num15 = (float)Main.rand.Next(28, 42) * 0.005f + (float)(270 - (int)Main.mouseTextColor) / 700f;
                                                    float num16;
                                                    float num17;
                                                    float num18;
                                                    switch ((int)tile.frameX / 54)
                                                    {
                                                        case 1:
                                                            num16 = 0.7f;
                                                            num17 = 1f;
                                                            num18 = 0.5f;
                                                            break;
                                                        case 2:
                                                            num16 = (float)(0.5 * (double)Main.demonTorch + 1.0 * (1.0 - (double)Main.demonTorch));
                                                            num17 = 0.3f;
                                                            num18 = (float)(1.0 * (double)Main.demonTorch + 0.5 * (1.0 - (double)Main.demonTorch));
                                                            break;
                                                        case 3:
                                                            num16 = 0.45f;
                                                            num17 = 0.75f;
                                                            num18 = 1f;
                                                            break;
                                                        case 4:
                                                            num16 = 1.15f;
                                                            num17 = 1.15f;
                                                            num18 = 0.5f;
                                                            break;
                                                        case 5:
                                                            num16 = (float)Main.DiscoR / (float)byte.MaxValue;
                                                            num17 = (float)Main.DiscoG / (float)byte.MaxValue;
                                                            num18 = (float)Main.DiscoB / (float)byte.MaxValue;
                                                            break;
                                                        default:
                                                            num16 = 0.9f;
                                                            num17 = 0.3f;
                                                            num18 = 0.1f;
                                                            break;
                                                    }
                                                    num8 = num16 + num15;
                                                    num9 = num17 + num15;
                                                    num10 = num18 + num15;
                                                    goto label_405;
                                                }
                                                else
                                                    goto label_405;
                                            case (ushort)235:
                                                if ((double)lightingState.r2 < 0.6)
                                                    lightingState.r2 = 0.6f;
                                                if ((double)lightingState.g2 < 0.6)
                                                {
                                                    lightingState.g2 = 0.6f;
                                                    goto label_405;
                                                }
                                                else
                                                    goto label_405;
                                            case (ushort)237:
                                                num8 = 0.1f;
                                                num9 = 0.1f;
                                                goto label_405;
                                            case (ushort)238:
                                                if ((double)lightingState.r2 < 0.5)
                                                    lightingState.r2 = 0.5f;
                                                if ((double)lightingState.b2 < 0.5)
                                                {
                                                    lightingState.b2 = 0.5f;
                                                    goto label_405;
                                                }
                                                else
                                                    goto label_405;
                                            default:
                                                goto label_405;
                                        }
                                    }
                                    else
                                    {
                                        switch (num11)
                                        {
                                            case (ushort)262:
                                                num8 = 0.75f;
                                                num10 = 0.75f;
                                                goto label_405;
                                            case (ushort)263:
                                                num8 = 0.75f;
                                                num9 = 0.75f;
                                                goto label_405;
                                            case (ushort)264:
                                                num10 = 0.75f;
                                                goto label_405;
                                            case (ushort)265:
                                                num9 = 0.75f;
                                                goto label_405;
                                            case (ushort)266:
                                                num8 = 0.75f;
                                                goto label_405;
                                            case (ushort)267:
                                                num8 = 0.75f;
                                                num9 = 0.75f;
                                                num10 = 0.75f;
                                                goto label_405;
                                            case (ushort)268:
                                                num8 = 0.75f;
                                                num9 = 0.375f;
                                                goto label_405;
                                            case (ushort)270:
                                                num8 = 0.73f;
                                                num9 = 1f;
                                                num10 = 0.41f;
                                                goto label_405;
                                            case (ushort)271:
                                                num8 = 0.45f;
                                                num9 = 0.95f;
                                                num10 = 1f;
                                                goto label_405;
                                            case (ushort)286:
                                                num8 = 0.1f;
                                                num9 = 0.2f;
                                                num10 = 0.7f;
                                                goto label_405;
                                            default:
                                                goto label_405;
                                        }
                                    }
                                }
                                else if ((uint)num11 <= 350U)
                                {
                                    if ((uint)num11 <= 318U)
                                    {
                                        switch (num11)
                                        {
                                            case (ushort)302:
                                                goto label_331;
                                            case (ushort)316:
                                            case (ushort)317:
                                            case (ushort)318:
                                                int index5 = (index1 - (int)tile.frameX / 18) / 2 * ((index2 - (int)tile.frameY / 18) / 3) % Main.cageFrames;
                                                bool flag = (int)Main.jellyfishCageMode[(int)tile.type - 316, index5] == 2;
                                                if ((int)tile.type == 316)
                                                {
                                                    if (flag)
                                                    {
                                                        num8 = 0.2f;
                                                        num9 = 0.3f;
                                                        num10 = 0.8f;
                                                    }
                                                    else
                                                    {
                                                        num8 = 0.1f;
                                                        num9 = 0.2f;
                                                        num10 = 0.5f;
                                                    }
                                                }
                                                if ((int)tile.type == 317)
                                                {
                                                    if (flag)
                                                    {
                                                        num8 = 0.2f;
                                                        num9 = 0.7f;
                                                        num10 = 0.3f;
                                                    }
                                                    else
                                                    {
                                                        num8 = 0.05f;
                                                        num9 = 0.45f;
                                                        num10 = 0.1f;
                                                    }
                                                }
                                                if ((int)tile.type == 318)
                                                {
                                                    if (flag)
                                                    {
                                                        num8 = 0.7f;
                                                        num9 = 0.2f;
                                                        num10 = 0.5f;
                                                        goto label_405;
                                                    }
                                                    else
                                                    {
                                                        num8 = 0.4f;
                                                        num9 = 0.1f;
                                                        num10 = 0.25f;
                                                        goto label_405;
                                                    }
                                                }
                                                else
                                                    goto label_405;
                                            default:
                                                goto label_405;
                                        }
                                    }
                                    else
                                    {
                                        switch (num11)
                                        {
                                            case (ushort)327:
                                                float num25 = 0.5f + (float)(270 - (int)Main.mouseTextColor) / 1500f + (float)Main.rand.Next(0, 50) * 0.0005f;
                                                num8 = 1f * num25;
                                                num9 = 0.5f * num25;
                                                num10 = 0.1f * num25;
                                                goto label_405;
                                            case (ushort)336:
                                                num8 = 0.85f;
                                                num9 = 0.5f;
                                                num10 = 0.3f;
                                                goto label_405;
                                            case (ushort)340:
                                                num8 = 0.45f;
                                                num9 = 1f;
                                                num10 = 0.45f;
                                                goto label_405;
                                            case (ushort)341:
                                                num8 = (float)(0.400000005960464 * (double)Main.demonTorch + 0.600000023841858 * (1.0 - (double)Main.demonTorch));
                                                num9 = 0.35f;
                                                num10 = (float)(1.0 * (double)Main.demonTorch + 0.600000023841858 * (1.0 - (double)Main.demonTorch));
                                                goto label_405;
                                            case (ushort)342:
                                                num8 = 0.5f;
                                                num9 = 0.5f;
                                                num10 = 1.1f;
                                                goto label_405;
                                            case (ushort)343:
                                                num8 = 0.85f;
                                                num9 = 0.85f;
                                                num10 = 0.3f;
                                                goto label_405;
                                            case (ushort)344:
                                                num8 = 0.6f;
                                                num9 = 1.026f;
                                                num10 = 0.96f;
                                                goto label_405;
                                            case (ushort)347:
                                                break;
                                            case (ushort)348:
                                            case (ushort)349:
                                                goto label_371;
                                            case (ushort)350:
                                                double num26 = Main.time * 0.08;
                                                float num27 = (float)(-Math.Cos((int)(num26 / 6.283) % 3 == 1 ? num26 : 0.0) * 0.1 + 0.1);
                                                num8 = num27;
                                                num9 = num27;
                                                num10 = num27;
                                                goto label_405;
                                            default:
                                                goto label_405;
                                        }
                                    }
                                }
                                else if ((uint)num11 <= 381U)
                                {
                                    switch (num11)
                                    {
                                        case (ushort)370:
                                            num8 = 0.32f;
                                            num9 = 0.16f;
                                            num10 = 0.12f;
                                            goto label_405;
                                        case (ushort)372:
                                            if ((int)tile.frameX == 0)
                                            {
                                                num8 = 0.9f;
                                                num9 = 0.1f;
                                                num10 = 0.75f;
                                                goto label_405;
                                            }
                                            else
                                                goto label_405;
                                        case (ushort)381:
                                            num8 = 0.25f;
                                            num9 = 0.1f;
                                            num10 = 0.0f;
                                            goto label_405;
                                        default:
                                            goto label_405;
                                    }
                                }
                                else
                                {
                                    switch (num11)
                                    {
                                        case (ushort)390:
                                            num8 = 0.4f;
                                            num9 = 0.2f;
                                            num10 = 0.1f;
                                            goto label_405;
                                        case (ushort)391:
                                            num8 = 0.3f;
                                            num9 = 0.1f;
                                            num10 = 0.25f;
                                            goto label_405;
                                        case (ushort)405:
                                            if ((int)tile.frameX < 54)
                                            {
                                                float num15 = (float)Main.rand.Next(28, 42) * 0.005f + (float)(270 - (int)Main.mouseTextColor) / 700f;
                                                float num16;
                                                float num17;
                                                float num18;
                                                switch ((int)tile.frameX / 54)
                                                {
                                                    case 1:
                                                        num16 = 0.7f;
                                                        num17 = 1f;
                                                        num18 = 0.5f;
                                                        break;
                                                    case 2:
                                                        num16 = (float)(0.5 * (double)Main.demonTorch + 1.0 * (1.0 - (double)Main.demonTorch));
                                                        num17 = 0.3f;
                                                        num18 = (float)(1.0 * (double)Main.demonTorch + 0.5 * (1.0 - (double)Main.demonTorch));
                                                        break;
                                                    case 3:
                                                        num16 = 0.45f;
                                                        num17 = 0.75f;
                                                        num18 = 1f;
                                                        break;
                                                    case 4:
                                                        num16 = 1.15f;
                                                        num17 = 1.15f;
                                                        num18 = 0.5f;
                                                        break;
                                                    case 5:
                                                        num16 = (float)Main.DiscoR / (float)byte.MaxValue;
                                                        num17 = (float)Main.DiscoG / (float)byte.MaxValue;
                                                        num18 = (float)Main.DiscoB / (float)byte.MaxValue;
                                                        break;
                                                    default:
                                                        num16 = 0.9f;
                                                        num17 = 0.3f;
                                                        num18 = 0.1f;
                                                        break;
                                                }
                                                num8 = num16 + num15;
                                                num9 = num17 + num15;
                                                num10 = num18 + num15;
                                                goto label_405;
                                            }
                                            else
                                                goto label_405;
                                        case (ushort)415:
                                            num8 = 0.7f;
                                            num9 = 0.5f;
                                            num10 = 0.1f;
                                            goto label_405;
                                        case (ushort)416:
                                            num8 = 0.0f;
                                            num9 = 0.6f;
                                            num10 = 0.7f;
                                            goto label_405;
                                        case (ushort)417:
                                            num8 = 0.6f;
                                            num9 = 0.2f;
                                            num10 = 0.6f;
                                            goto label_405;
                                        case (ushort)418:
                                            num8 = 0.6f;
                                            num9 = 0.6f;
                                            num10 = 0.9f;
                                            goto label_405;
                                        default:
                                            goto label_405;
                                    }
                                }
                                num8 = 0.35f;
                                goto label_405;
                            }
                        label_294:
                            if ((int)tile.frameX < 36)
                            {
                                switch ((int)tile.frameY / 36)
                                {
                                    case 1:
                                        num8 = 0.95f;
                                        num9 = 0.95f;
                                        num10 = 0.5f;
                                        goto label_405;
                                    case 3:
                                        num8 = 1f;
                                        num9 = 0.6f;
                                        num10 = 0.6f;
                                        goto label_405;
                                    case 6:
                                    case 9:
                                        num8 = 0.75f;
                                        num9 = 0.9f;
                                        num10 = 1f;
                                        goto label_405;
                                    case 11:
                                        num8 = 1f;
                                        num9 = 1f;
                                        num10 = 0.7f;
                                        goto label_405;
                                    case 13:
                                        num8 = 1f;
                                        num9 = 1f;
                                        num10 = 0.6f;
                                        goto label_405;
                                    case 19:
                                        num8 = 0.37f;
                                        num9 = 0.8f;
                                        num10 = 1f;
                                        goto label_405;
                                    case 20:
                                        num8 = 0.0f;
                                        num9 = 0.9f;
                                        num10 = 1f;
                                        goto label_405;
                                    case 21:
                                        num8 = 0.25f;
                                        num9 = 0.7f;
                                        num10 = 1f;
                                        goto label_405;
                                    case 22:
                                        num8 = 0.35f;
                                        num9 = 0.5f;
                                        num10 = 0.3f;
                                        goto label_405;
                                    case 23:
                                        num8 = 0.34f;
                                        num9 = 0.4f;
                                        num10 = 0.31f;
                                        goto label_405;
                                    case 24:
                                        num8 = 0.25f;
                                        num9 = 0.32f;
                                        num10 = 0.5f;
                                        goto label_405;
                                    case 25:
                                        num8 = (float)(0.5 * (double)Main.demonTorch + 1.0 * (1.0 - (double)Main.demonTorch));
                                        num9 = 0.3f;
                                        num10 = (float)(1.0 * (double)Main.demonTorch + 0.5 * (1.0 - (double)Main.demonTorch));
                                        goto label_405;
                                    case 29:
                                        num8 = 0.9f;
                                        num9 = 0.75f;
                                        num10 = 1f;
                                        goto label_405;
                                    default:
                                        num8 = 1f;
                                        num9 = 0.95f;
                                        num10 = 0.65f;
                                        goto label_405;
                                }
                            }
                            else
                                goto label_405;
                        label_331:
                            num8 = 0.83f;
                            num9 = 0.6f;
                            num10 = 0.5f;
                            goto label_405;
                        label_371:
                            if ((int)tile.type != 349 || (int)tile.frameX >= 36)
                            {
                                float num12 = (float)Main.rand.Next(28, 42) * 0.005f + (float)(270 - (int)Main.mouseTextColor) / 1000f;
                                num8 = 0.1f;
                                num9 = (float)(0.200000002980232 + (double)num12 / 2.0);
                                num10 = 0.7f + num12;
                            }
                        }
                    }
                label_405:
                    if (Lighting.RGB)
                    {
                        if ((double)lightingState.r2 < (double)num8)
                            lightingState.r2 = num8;
                        if ((double)lightingState.g2 < (double)num9)
                            lightingState.g2 = num9;
                        if ((double)lightingState.b2 < (double)num10)
                            lightingState.b2 = num10;
                    }
                    else
                    {
                        float num11 = (float)(((double)num8 + (double)num9 + (double)num10) / 3.0);
                        if ((double)lightingState.r2 < (double)num11)
                            lightingState.r2 = num11;
                    }
                    if (tile.lava() && (int)tile.liquid > 0)
                    {
                        if (Lighting.RGB)
                        {
                            float num11 = (float)((double)((int)tile.liquid / (int)byte.MaxValue) * 0.409999996423721 + 0.140000000596046);
                            float num12 = 0.55f + (float)(270 - (int)Main.mouseTextColor) / 900f;
                            if ((double)lightingState.r2 < (double)num12)
                                lightingState.r2 = num12;
                            if ((double)lightingState.g2 < (double)num12)
                                lightingState.g2 = num12 * 0.6f;
                            if ((double)lightingState.b2 < (double)num12)
                                lightingState.b2 = num12 * 0.2f;
                        }
                        else
                        {
                            float num11 = (float)((double)((int)tile.liquid / (int)byte.MaxValue) * 0.379999995231628 + 0.0799999982118607) + (float)(270 - (int)Main.mouseTextColor) / 2000f;
                            if ((double)lightingState.r2 < (double)num11)
                                lightingState.r2 = num11;
                        }
                    }
                    else if ((int)tile.liquid > 128)
                    {
                        lightingState.wetLight = true;
                        if (tile.honey())
                            lightingState.honeyLight = true;
                    }
                    if ((double)lightingState.r2 > 0.0 || Lighting.RGB && ((double)lightingState.g2 > 0.0 || (double)lightingState.b2 > 0.0))
                    {
                        int num11 = index1 - Lighting.firstToLightX;
                        int num12 = index2 - Lighting.firstToLightY;
                        if (Lighting.minX > num11)
                            Lighting.minX = num11;
                        if (Lighting.maxX < num11 + 1)
                            Lighting.maxX = num11 + 1;
                        if (Lighting.minY > num12)
                            Lighting.minY = num12;
                        if (Lighting.maxY < num12 + 1)
                            Lighting.maxY = num12 + 1;
                    }
                }
            }
            foreach (KeyValuePair<Point16, Lighting.ColorTriplet> keyValuePair in Lighting.tempLights)
            {
                int index1 = (int)keyValuePair.Key.X - Lighting.firstTileX + Lighting.offScreenTiles;
                int index2 = (int)keyValuePair.Key.Y - Lighting.firstTileY + Lighting.offScreenTiles;
                if (index1 >= 0 && index1 < Main.screenWidth / 16 + Lighting.offScreenTiles * 2 + 10 && (index2 >= 0 && index2 < Main.screenHeight / 16 + Lighting.offScreenTiles * 2 + 10))
                {
                    Lighting.LightingState lightingState = Lighting.states[index1][index2];
                    if ((double)lightingState.r2 < (double)keyValuePair.Value.r)
                        lightingState.r2 = keyValuePair.Value.r;
                    if ((double)lightingState.g2 < (double)keyValuePair.Value.g)
                        lightingState.g2 = keyValuePair.Value.g;
                    if ((double)lightingState.b2 < (double)keyValuePair.Value.b)
                        lightingState.b2 = keyValuePair.Value.b;
                    if (index1 < Lighting.minX)
                        Lighting.minX = index1;
                    if (index1 > Lighting.maxX)
                        Lighting.maxX = index1;
                    if (index2 < Lighting.minY)
                        Lighting.minY = index2;
                    if (index2 > Lighting.maxY)
                        Lighting.maxY = index2;
                }
            }
            if (!Main.gamePaused)
                Lighting.tempLights.Clear();
            if (numArray[27] > 0)
                Main.sunflower = true;
            Main.holyTiles = numArray[109] + numArray[110] + numArray[113] + numArray[117] + numArray[116] + numArray[164] + numArray[403] + numArray[402];
            Main.evilTiles = numArray[23] + numArray[24] + numArray[25] + numArray[32] + numArray[112] + numArray[163] + numArray[400] + numArray[398] + -5 * numArray[27];
            Main.bloodTiles = numArray[199] + numArray[203] + numArray[200] + numArray[401] + numArray[399] + numArray[234] + numArray[352] - 5 * numArray[27];
            Main.snowTiles = numArray[147] + numArray[148] + numArray[161] + numArray[162] + numArray[164] + numArray[163] + numArray[200];
            Main.jungleTiles = numArray[60] + numArray[61] + numArray[62] + numArray[74] + numArray[226];
            Main.shroomTiles = numArray[70] + numArray[71] + numArray[72];
            Main.meteorTiles = numArray[37];
            Main.dungeonTiles = numArray[41] + numArray[43] + numArray[44];
            Main.sandTiles = numArray[53] + numArray[112] + numArray[116] + numArray[234] + numArray[397] + numArray[398] + numArray[402] + numArray[399] + numArray[396] + numArray[400] + numArray[403] + numArray[401];
            Main.waterCandles = numArray[49];
            Main.peaceCandles = numArray[372];
            if (Main.player[Main.myPlayer].accOreFinder)
            {
                Main.player[Main.myPlayer].bestOre = -1;
                for (int index = 0; index < 419; ++index)
                {
                    if (numArray[index] > 0 && (int)Main.tileValue[index] > 0 && (Main.player[Main.myPlayer].bestOre < 0 || (int)Main.tileValue[index] > (int)Main.tileValue[Main.player[Main.myPlayer].bestOre]))
                        Main.player[Main.myPlayer].bestOre = index;
                }
            }
            Array.Clear((Array)numArray, 0, numArray.Length);
            if (Main.holyTiles < 0)
                Main.holyTiles = 0;
            if (Main.evilTiles < 0)
                Main.evilTiles = 0;
            if (Main.bloodTiles < 0)
                Main.bloodTiles = 0;
            int num28 = Main.holyTiles;
            Main.holyTiles -= Main.evilTiles;
            Main.holyTiles -= Main.bloodTiles;
            Main.evilTiles -= num28;
            Main.bloodTiles -= num28;
            if (Main.holyTiles < 0)
                Main.holyTiles = 0;
            if (Main.evilTiles < 0)
                Main.evilTiles = 0;
            if (Main.bloodTiles < 0)
                Main.bloodTiles = 0;
            Lighting.minX += Lighting.firstToLightX;
            Lighting.maxX += Lighting.firstToLightX;
            Lighting.minY += Lighting.firstToLightY;
            Lighting.maxY += Lighting.firstToLightY;
            Lighting.minX7 = Lighting.minX;
            Lighting.maxX7 = Lighting.maxX;
            Lighting.minY7 = Lighting.minY;
            Lighting.maxY7 = Lighting.maxY;
            Lighting.firstTileX7 = Lighting.firstTileX;
            Lighting.lastTileX7 = Lighting.lastTileX;
            Lighting.lastTileY7 = Lighting.lastTileY;
            Lighting.firstTileY7 = Lighting.firstTileY;
            Lighting.firstToLightX7 = Lighting.firstToLightX;
            Lighting.lastToLightX7 = Lighting.lastToLightX;
            Lighting.firstToLightY7 = Lighting.firstToLightY;
            Lighting.lastToLightY7 = Lighting.lastToLightY;
            Lighting.firstToLightX27 = Lighting.firstTileX - Lighting.offScreenTiles2;
            Lighting.firstToLightY27 = Lighting.firstTileY - Lighting.offScreenTiles2;
            Lighting.lastToLightX27 = Lighting.lastTileX + Lighting.offScreenTiles2;
            Lighting.lastToLightY27 = Lighting.lastTileY + Lighting.offScreenTiles2;
            if (Lighting.firstToLightX27 < 0)
                Lighting.firstToLightX27 = 0;
            if (Lighting.lastToLightX27 >= Main.maxTilesX)
                Lighting.lastToLightX27 = Main.maxTilesX - 1;
            if (Lighting.firstToLightY27 < 0)
                Lighting.firstToLightY27 = 0;
            if (Lighting.lastToLightY27 >= Main.maxTilesY)
                Lighting.lastToLightY27 = Main.maxTilesY - 1;
            Lighting.scrX = (int)Main.screenPosition.X / 16;
            Lighting.scrY = (int)Main.screenPosition.Y / 16;
            Main.renderCount = 0;
            TimeLogger.LightingTime(0, stopwatch.Elapsed.TotalMilliseconds);
            Lighting.doColors();
        }