Example #1
0
        public void GenerateTerrainVertices(FluidBlock block, BlockGeometryGenerator generator, TerrainGeometrySubsets geometry, int value, int x, int y, int z)
        {
            int data = Terrain.ExtractData(value);

            if (true)
            {
                Terrain terrain        = generator.Terrain;
                int     cellValueFast  = terrain.GetCellValueFast(x - 1, y, z - 1);
                int     cellValueFast2 = terrain.GetCellValueFast(x, y, z - 1);
                int     cellValueFast3 = terrain.GetCellValueFast(x + 1, y, z - 1);
                int     cellValueFast4 = terrain.GetCellValueFast(x - 1, y, z);
                int     cellValueFast5 = terrain.GetCellValueFast(x + 1, y, z);
                int     cellValueFast6 = terrain.GetCellValueFast(x - 1, y, z + 1);
                int     cellValueFast7 = terrain.GetCellValueFast(x, y, z + 1);
                int     cellValueFast8 = terrain.GetCellValueFast(x + 1, y, z + 1);
                float   h           = CalculateNeighborHeight(cellValueFast);
                float   num         = CalculateNeighborHeight(cellValueFast2);
                float   h2          = CalculateNeighborHeight(cellValueFast3);
                float   num2        = CalculateNeighborHeight(cellValueFast4);
                float   num3        = CalculateNeighborHeight(cellValueFast5);
                float   h3          = CalculateNeighborHeight(cellValueFast6);
                float   num4        = CalculateNeighborHeight(cellValueFast7);
                float   h4          = CalculateNeighborHeight(cellValueFast8);
                float   levelHeight = GetLevelHeight(GetLevel(data));
                float   height      = CalculateFluidVertexHeight(h, num, num2, levelHeight);
                float   height2     = CalculateFluidVertexHeight(num, h2, levelHeight, num3);
                float   height3     = CalculateFluidVertexHeight(levelHeight, num3, num4, h4);
                float   height4     = CalculateFluidVertexHeight(num2, levelHeight, h3, num4);
                generator.GenerateCubeVertices(block, value, x, y, z, height, height2, height3, height4, sidecolor, topcolor, topcolor, topcolor, topcolor, 255, SubsystemItemBlockBase.GTV(x, z, geometry).OpaqueSubsetsByFace);
            }
            else
            {
                generator.GenerateCubeVertices(block, value, x, y, z, sidecolor, SubsystemItemBlockBase.GTV(x, z, geometry).OpaqueSubsetsByFace);
            }
        }
Example #2
0
        public override void GenerateTerrainVertices(BlockGeometryGenerator generator, TerrainGeometry geometry, int value, int x, int y, int z)
        {
            int   data        = Terrain.ExtractData(value);
            Color fabricColor = SubsystemPalette.GetFabricColor(generator, GetColor(data));

            generator.GenerateCubeVertices(this, value, x, y, z, 0.0625f, 0.0625f, 0.0625f, 0.0625f, fabricColor, fabricColor, fabricColor, fabricColor, fabricColor, -1, geometry.OpaqueSubsetsByFace);
        }
Example #3
0
        public override void GenerateTerrainVertices(BlockGeometryGenerator generator, TerrainGeometry geometry, int value, int x, int y, int z)
        {
            switch (GetCutFace(Terrain.ExtractData(value)))
            {
            case 4:
                generator.GenerateCubeVertices(this, value, x, y, z, Color.White, geometry.OpaqueSubsetsByFace);
                break;

            case 0:
                generator.GenerateCubeVertices(this, value, x, y, z, 1, 0, 0, Color.White, geometry.OpaqueSubsetsByFace);
                break;

            default:
                generator.GenerateCubeVertices(this, value, x, y, z, 0, 1, 1, Color.White, geometry.OpaqueSubsetsByFace);
                break;
            }
        }
Example #4
0
        public override void GenerateTerrainVertices(BlockGeometryGenerator generator, TerrainGeometry geometry, int value, int x, int y, int z)
        {
            Color topColor  = BlockColorsMap.GrassColorsMap.Lookup(generator.Terrain, x, y, z);
            Color topColor2 = BlockColorsMap.GrassColorsMap.Lookup(generator.Terrain, x + 1, y, z);
            Color topColor3 = BlockColorsMap.GrassColorsMap.Lookup(generator.Terrain, x + 1, y, z + 1);
            Color topColor4 = BlockColorsMap.GrassColorsMap.Lookup(generator.Terrain, x, y, z + 1);

            generator.GenerateCubeVertices(this, value, x, y, z, 1f, 1f, 1f, 1f, Color.White, topColor, topColor2, topColor3, topColor4, -1, geometry.OpaqueSubsetsByFace);
        }
Example #5
0
        public void GenerateFluidTerrainVertices(BlockGeometryGenerator generator, int value, int x, int y, int z, Color sideColor, Color topColor, TerrainGeometrySubset[] subset)
        {
            int data = Terrain.ExtractData(value);

            if (GetIsTop(data))
            {
                Terrain terrain        = generator.Terrain;
                int     cellValueFast  = terrain.GetCellValueFast(x - 1, y, z - 1);
                int     cellValueFast2 = terrain.GetCellValueFast(x, y, z - 1);
                int     cellValueFast3 = terrain.GetCellValueFast(x + 1, y, z - 1);
                int     cellValueFast4 = terrain.GetCellValueFast(x - 1, y, z);
                int     cellValueFast5 = terrain.GetCellValueFast(x + 1, y, z);
                int     cellValueFast6 = terrain.GetCellValueFast(x - 1, y, z + 1);
                int     cellValueFast7 = terrain.GetCellValueFast(x, y, z + 1);
                int     cellValueFast8 = terrain.GetCellValueFast(x + 1, y, z + 1);
                float   h                      = CalculateNeighborHeight(cellValueFast);
                float   num                    = CalculateNeighborHeight(cellValueFast2);
                float   h2                     = CalculateNeighborHeight(cellValueFast3);
                float   num2                   = CalculateNeighborHeight(cellValueFast4);
                float   num3                   = CalculateNeighborHeight(cellValueFast5);
                float   h3                     = CalculateNeighborHeight(cellValueFast6);
                float   num4                   = CalculateNeighborHeight(cellValueFast7);
                float   h4                     = CalculateNeighborHeight(cellValueFast8);
                float   levelHeight            = GetLevelHeight(GetLevel(data));
                float   height                 = CalculateFluidVertexHeight(h, num, num2, levelHeight);
                float   height2                = CalculateFluidVertexHeight(num, h2, levelHeight, num3);
                float   height3                = CalculateFluidVertexHeight(levelHeight, num3, num4, h4);
                float   height4                = CalculateFluidVertexHeight(num2, levelHeight, h3, num4);
                float   x2                     = ZeroSubst(num3, levelHeight) - ZeroSubst(num2, levelHeight);
                float   x3                     = ZeroSubst(num4, levelHeight) - ZeroSubst(num, levelHeight);
                int     overrideTopTextureSlot = DefaultTextureSlot - (int)MathUtils.Sign(x2) - 16 * (int)MathUtils.Sign(x3);
                generator.GenerateCubeVertices(this, value, x, y, z, height, height2, height3, height4, sideColor, topColor, topColor, topColor, topColor, overrideTopTextureSlot, subset);
            }
            else
            {
                generator.GenerateCubeVertices(this, value, x, y, z, sideColor, subset);
            }
        }
Example #6
0
 public override void GenerateTerrainVertices(BlockGeometryGenerator generator, TerrainGeometrySubsets geometry, int value, int x, int y, int z)
 {
     generator.GenerateCubeVertices(this, value, x, y, z, IsColored(Terrain.ExtractData(value) & 16383) ? SubsystemPalette.GetColor(generator, GetColor(Terrain.ExtractData(value))) : Color.White, geometry.OpaqueSubsetsByFace);
 }
Example #7
0
 public override void GenerateTerrainVertices(BlockGeometryGenerator generator, TerrainGeometrySubsets geometry, int value, int x, int y, int z)
 {
     generator.GenerateCubeVertices(this, value, x, y, z, new Color(255, 153, 18) * SubsystemPalette.GetColor(generator, GetPaintColor(value)), geometry.OpaqueSubsetsByFace);
 }
Example #8
0
        public override void GenerateTerrainVertices(BlockGeometryGenerator generator, TerrainGeometrySubsets geometry, int value, int x, int y, int z)
        {
            Color color = SubsystemPalette.GetColor(generator, GetPaintColor(value));

            generator.GenerateCubeVertices(this, value, x, y, z, Terrain.ExtractData(value) >> 10 != 0 ? color * Color.LightGray : color, geometry.OpaqueSubsetsByFace);
        }
Example #9
0
 public override void GenerateTerrainVertices(Block block, BlockGeometryGenerator generator, TerrainGeometrySubsets geometry, int value, int x, int y, int z)
 {
     generator.GenerateCubeVertices(block, value, x, y, z, Color.White, SubsystemItemBlockBase.GTV(x, z, geometry).OpaqueSubsetsByFace);
 }
Example #10
0
 public override void GenerateTerrainVertices(BlockGeometryGenerator generator, TerrainGeometry geometry, int value, int x, int y, int z)
 {
     generator.GenerateCubeVertices(this, value, x, y, z, 0.125f, 0.125f, 0.125f, 0.125f, Color.White, Color.White, Color.White, Color.White, Color.White, -1, geometry.OpaqueSubsetsByFace);
 }
Example #11
0
 public override void GenerateTerrainVertices(Block block, BlockGeometryGenerator generator, TerrainGeometrySubsets geometry, int value, int x, int y, int z)
 {
     generator.GenerateCubeVertices(block, value, x, y, z, global, geometry.TransparentSubsetsByFace);
 }
Example #12
0
 public virtual void GenerateTerrainVertices(Block block, BlockGeometryGenerator generator, TerrainGeometrySubsets geometry, int value, int x, int y, int z)
 {
     generator.GenerateCubeVertices(ItemBlock, value, x, y, z, Color.White, geometry.OpaqueSubsetsByFace);
 }
Example #13
0
 public override void GenerateTerrainVertices(BlockGeometryGenerator generator, TerrainGeometry geometry, int value, int x, int y, int z)
 {
     generator.GenerateCubeVertices(this, value, x, y, z, Color.White, geometry.AlphaTestSubsetsByFace);
 }
Example #14
0
        public override void GenerateTerrainVertices(BlockGeometryGenerator generator, TerrainGeometrySubsets geometry, int value, int x, int y, int z)
        {
            int type = GetType(value);

            generator.GenerateCubeVertices(this, value, x, y, z, (type < 3 ? Colors[type] : GetColor((Materials)(type - 3))) * SubsystemPalette.GetColor(generator, GetPaintColor(value)), geometry.OpaqueSubsetsByFace);
        }
Example #15
0
 public override void GenerateTerrainVertices(Block block, BlockGeometryGenerator generator, TerrainGeometrySubsets geometry, int value, int x, int y, int z)
 {
     generator.GenerateCubeVertices(ItemBlock, value, x, y, z, Color.LightGray * SubsystemPalette.GetColor(generator, PaintableItemBlock.GetColor(Terrain.ExtractData(value))), geometry.OpaqueSubsetsByFace);
 }
Example #16
0
        public override void GenerateTerrainVertices(BlockGeometryGenerator generator, TerrainGeometry geometry, int value, int x, int y, int z)
        {
            Color color = m_blockColorsMap.Lookup(generator.Terrain, x, y, z);

            generator.GenerateCubeVertices(this, value, x, y, z, color, geometry.AlphaTestSubsetsByFace);
        }
Example #17
0
        public override void GenerateTerrainVertices(BlockGeometryGenerator generator, TerrainGeometry geometry, int value, int x, int y, int z)
        {
            Color color = GetHydration(Terrain.ExtractData(value)) ? new Color(180, 170, 150) : Color.White;

            generator.GenerateCubeVertices(this, value, x, y, z, 0.9375f, 0.9375f, 0.9375f, 0.9375f, color, color, color, color, color, -1, geometry.OpaqueSubsetsByFace);
        }