Esempio n. 1
0
        public MaterialImage GenerateSeedImageBmp(WorldSystem.Region tregion, int minx, int miny, int maxx, int maxy, int wid)
        {
            MaterialImage bmp = new MaterialImage()
            {
                Colors = new FastColor[wid * wid], Width = wid, Height = wid
            };
            double one_div_wid = 1.0 / wid;

            for (int x = 0; x < wid; x++)
            {
                for (int y = 0; y < wid; y++)
                {
                    double h = tregion.Generator.GetHeight(tregion.TheWorld.Seed, tregion.TheWorld.Seed2, tregion.TheWorld.Seed3,
                                                           tregion.TheWorld.Seed4, tregion.TheWorld.Seed5, minx + (maxx - minx) * x * one_div_wid, miny + (maxy - miny) * y * one_div_wid, false);
                    Biome    b = tregion.Generator.GetBiomeGen().BiomeFor(tregion.TheWorld.Seed2, tregion.TheWorld.Seed3, tregion.TheWorld.Seed4, minx + (maxx - minx) * x * one_div_wid, miny + (maxy - miny) * y * one_div_wid, h, h);
                    Material renderme;
                    if (h > 0)
                    {
                        renderme = b.GetAboveZeromat();
                    }
                    else
                    {
                        renderme = b.GetZeroOrLowerMat();
                    }
                    bmp.SetAt(x, y, MaterialImages[(int)renderme].Colors[0]);
                }
            }
            return(bmp);
        }