Esempio n. 1
0
        public Color[] GetFGChunkArt(int chunkId, bool back, bool front)
        {
            Color[]     pixels = new Color[128 * 128];
            LayoutBlock chunk  = mLayoutBlocks[chunkId];

            for (int y = 0; y < 128; y++)
            {
                for (int x = 0; x < 128; x++)
                {
                    int sx, sy, dx, dy;

                    LayoutBlock.LayoutBlockTile chunkTile = chunk.Tiles[x / 16, y / 16];
                    if (chunkTile.Index >= mTileBlocks.Count)
                    {
                        pixels[y * 128 + x] = Color.Transparent;
                        continue;
                    }

                    dx = x % 16;
                    dy = y % 16;
                    if (chunkTile.X)
                    {
                        dx = 15 - dx;
                    }
                    if (chunkTile.Y)
                    {
                        dy = 15 - dy;
                    }

                    dx += (x / 16) * 16;
                    dy += (y / 16) * 16;

                    TileBlock block = mTileBlocks[chunkTile.Index];
                    TileBlock.TileBlockTile blockTile = block.Tiles[(x % 16) / 8, (y % 16) / 8];
                    if (blockTile.P && !front)
                    {
                        continue;
                    }
                    if (!blockTile.P && !back)
                    {
                        continue;
                    }

                    sx = x % 8;
                    sy = y % 8;
                    if (blockTile.X)
                    {
                        sx = 7 - sx;
                    }
                    if (blockTile.Y)
                    {
                        sy = 7 - sy;
                    }

                    pixels[dy * 128 + dx] = GetArtTilePixel(blockTile.CC, blockTile.Index, sx, sy);
                }
            }

            return(pixels);
        }
Esempio n. 2
0
 private void SetDefaultBlockValues(LayoutBlock block)
 {
     block.Left    = (PictureBox.Width / 2) - 50;
     block.Top     = (PictureBox.Height / 2) - 50;
     block.Width   = 100;
     block.Height  = 100;
     block.Enabled = true;
 }