/// <summary> /// Give the report a some outrageous formatting values. /// </summary> public void ApplyOverTheTopFormatting() { this.listViewPrinter1.CellFormat = null; this.listViewPrinter1.ListFont = new Font("Ms Sans Serif", 9); this.listViewPrinter1.ListGridPen = new Pen(Color.Blue, 0.5f); this.listViewPrinter1.HeaderFormat = BlockFormat.Header(new Font("Comic Sans MS", 36)); this.listViewPrinter1.HeaderFormat.TextBrush = new LinearGradientBrush(new Rectangle(0, 0, 1, 1), Color.Black, Color.Blue, LinearGradientMode.Horizontal); this.listViewPrinter1.HeaderFormat.BackgroundBrush = new TextureBrush(this.dataListView1.SmallImageList.Images["music"], WrapMode.Tile); this.listViewPrinter1.HeaderFormat.SetBorder(Sides.All, 10, new LinearGradientBrush(new Rectangle(0, 0, 1, 1), Color.Purple, Color.Pink, LinearGradientMode.Horizontal)); this.listViewPrinter1.FooterFormat = BlockFormat.Footer(new Font("Comic Sans MS", 12)); this.listViewPrinter1.FooterFormat.TextBrush = Brushes.Blue; this.listViewPrinter1.FooterFormat.BackgroundBrush = new LinearGradientBrush(new Rectangle(0, 0, 1, 1), Color.Gold, Color.Green, LinearGradientMode.Horizontal); this.listViewPrinter1.FooterFormat.SetBorder(Sides.All, 5, new SolidBrush(Color.FromArgb(128, Color.Green))); this.listViewPrinter1.GroupHeaderFormat = BlockFormat.GroupHeader(); this.listViewPrinter1.GroupHeaderFormat.SetBorder(Sides.Bottom, 5, new HatchBrush(HatchStyle.LargeConfetti, Color.Blue, Color.Empty)); this.listViewPrinter1.ListHeaderFormat = BlockFormat.ListHeader(new Font("Comic Sans MS", 12)); this.listViewPrinter1.ListHeaderFormat.BackgroundBrush = Brushes.PowderBlue; this.listViewPrinter1.ListHeaderFormat.TextBrush = Brushes.Black; this.listViewPrinter1.WatermarkFont = new Font("Comic Sans MS", 72); this.listViewPrinter1.WatermarkColor = Color.Red; }
/// <summary> /// Give the report a some outrageous formatting values. /// </summary> public void ApplyOverTheTopFormatting() { this.listViewPrinter.CellFormat = null; this.listViewPrinter.ListFont = new Font("Ms Sans Serif", 9); this.listViewPrinter.ListGridPen = new Pen(Color.Blue, 0.5f); this.listViewPrinter.HeaderFormat = BlockFormat.Header(new Font("Comic Sans MS", 36)); this.listViewPrinter.HeaderFormat.TextBrush = new LinearGradientBrush(new Point(0, 0), new Point(900, 0), Color.Black, Color.Blue); //this.listViewPrinter.HeaderFormat.BackgroundBrush = new TextureBrush(this.listView.SmallImageList.Images["music"], WrapMode.Tile); this.listViewPrinter.HeaderFormat.SetBorder(Sides.All, 10, new LinearGradientBrush(new Point(0, 0), new Point(300, 0), Color.Purple, Color.Pink)); this.listViewPrinter.FooterFormat = BlockFormat.Footer(new Font("Comic Sans MS", 12)); this.listViewPrinter.FooterFormat.TextBrush = Brushes.Blue; this.listViewPrinter.FooterFormat.BackgroundBrush = new LinearGradientBrush(new Point(0, 0), new Point(200, 0), Color.Gold, Color.Green); this.listViewPrinter.FooterFormat.SetBorderPen(Sides.All, new Pen(Color.FromArgb(128, Color.Green), 5)); this.listViewPrinter.GroupHeaderFormat = BlockFormat.GroupHeader(); Brush brush = new HatchBrush(HatchStyle.LargeConfetti, Color.Blue, Color.Empty); this.listViewPrinter.GroupHeaderFormat.SetBorder(Sides.Bottom, 5, brush); this.listViewPrinter.ListHeaderFormat = BlockFormat.ListHeader(new Font("Comic Sans MS", 12)); this.listViewPrinter.ListHeaderFormat.BackgroundBrush = Brushes.PowderBlue; this.listViewPrinter.ListHeaderFormat.TextBrush = Brushes.Black; this.listViewPrinter.WatermarkFont = new Font("Comic Sans MS", 72); this.listViewPrinter.WatermarkColor = Color.Red; }
public byte[] ReadFormatted(string Label, BlockFormat format) { byte[] Data = new byte[4]; _fs.Read(Data, 0, 4); if (format == BlockFormat.UnixTime) { uint UnixTime = Program.GetBigEndian(Data, 0, 4); if (UnixTime == 0) { AddBlock(Label, "", -4, Data); } else { AddBlock(Label, Program.UnixTimeStampToDateTime(UnixTime).ToString(), -4, Data); } } else if (format == BlockFormat.Days) { var v = Program.GetBigEndian(Data, 0, 4); TimeSpan t = TimeSpan.FromSeconds(v); AddBlock(Label, string.Format("{0:D2}d {1:D2}h:{2:D2}m:{3:D2}s:{4:D3}ms", t.Days, t.Hours, t.Minutes, t.Seconds, t.Milliseconds), -4, Data); } return(Data); }
protected override void HandlePaintEvent(Graphics g, Rectangle r) { using (Pen p = this.GetPen()) { g.SmoothingMode = ObjectListView.SmoothingMode; StringFormat fmt = new StringFormat(); fmt.Alignment = StringAlignment.Center; fmt.LineAlignment = StringAlignment.Center; if (p == null) { g.DrawString("No pen", new Font("Tahoma", 14), Brushes.DarkGray, r, fmt); } else { g.DrawString("Through a mirror darkly", new Font("Tahoma", 14), Brushes.Black, r, fmt); int inset = (int)Math.Max(1.0, p.Width); r.Inflate(-inset, -inset); Point[] pts = new Point[4]; pts[0] = r.Location; pts[1] = new Point(r.X + r.Width / 2, r.Bottom); pts[2] = new Point(r.X + r.Width / 2, r.Top); pts[3] = new Point(r.Right, r.Bottom); g.DrawLines(BlockFormat.PreparePenForDrawing(p, r), pts); } } }
private void ApplyPenData(BlockFormat blockFormat) { blockFormat.BackgroundBrushData = blockFormat.BackgroundBrushData; blockFormat.BottomBorderPenData = blockFormat.BottomBorderPenData; blockFormat.LeftBorderPenData = blockFormat.LeftBorderPenData; blockFormat.RightBorderPenData = blockFormat.RightBorderPenData; blockFormat.TextBrushData = blockFormat.TextBrushData; blockFormat.TopBorderPenData = blockFormat.TopBorderPenData; }
private static int[] DecodeI8Routine(byte[] I8Data, int Width, int Height) { int[] GrayscaleData = new int[I8Data.Length]; for (int i = 0; i < GrayscaleData.Length; i++) { GrayscaleData[i] = (I8Data[i] << 24) | (I8Data[i] << 16) | (I8Data[i] << 8) | I8Data[i]; } return(BlockFormat.Decode(GrayscaleData, Width, Height, 8, 4)); }
private static int[] DecodeIA8Routine(byte[] IA8Data, int Width, int Height) { int[] GrayscaleData = new int[IA8Data.Length / 2]; for (int i = 0; i < GrayscaleData.Length; i++) { int idx = i * 2; GrayscaleData[i] = (IA8Data[idx] << 24) | (IA8Data[idx + 1] << 16) | (IA8Data[idx + 1] << 8) | IA8Data[idx + 1]; } return(BlockFormat.Decode(GrayscaleData, Width, Height, 4, 4)); }
private static byte[] EncodeI8Routine(int[] ImageData, int Width, int Height) { ImageData = BlockFormat.Encode(ImageData, Width, Height, 8, 4); byte[] I8Data = new byte[ImageData.Length]; for (int i = 0; i < I8Data.Length; i++) { I8Data[i] = (byte)((((ImageData[i] >> 16) & 0xFF) * 0.2126) + (((ImageData[i] >> 8) & 0xFF) * 0.7152) + ((ImageData[i] & 0xFF) * 0.0722)); } return(I8Data); }
private static int[] DecodeIA4Routine(byte[] IA4Data, int Width, int Height, bool Unswizzle = true) { int[] GrayscaleData = new int[IA4Data.Length]; for (int i = 0; i < GrayscaleData.Length; i++) { byte LeftPixelValue = (byte)(((IA4Data[i] & 0xF0) | (IA4Data[i] >> 4)) & 0xFF); // Alpha byte RightPixelValue = (byte)(((IA4Data[i] << 4) | (IA4Data[i] & 0x0F)) & 0xFF); GrayscaleData[i] = (LeftPixelValue << 24) | (RightPixelValue << 16) | (RightPixelValue << 8) | RightPixelValue; } return(Unswizzle ? BlockFormat.Decode(GrayscaleData, Width, Height, 8, 4) : GrayscaleData); }
/// <summary> /// Draw a representation of our value /// </summary> public override void PaintValue(PaintValueEventArgs e) { IBrushData bd = e.Value as IBrushData; if (bd == null) { base.PaintValue(e); } else { e.Graphics.FillRectangle(BlockFormat.PrepareBrushForDrawing(bd.GetBrush(), e.Bounds), e.Bounds); } }
private static int[] DecodeI4Routine(byte[] I4Data, int Width, int Height, bool Unswizzle = true) { int[] GrayscaleData = new int[I4Data.Length * 2]; for (int i = 0; i < I4Data.Length; i++) { byte LeftPixelValue = (byte)((I4Data[i] & 0xF0) | (I4Data[i] >> 4)); byte RightPixelValue = (byte)((I4Data[i] << 4) | (I4Data[i] & 0x0F)); int idx = i * 2; GrayscaleData[idx] = (0xFF << 24) | (LeftPixelValue << 16) | (LeftPixelValue << 8) | LeftPixelValue; GrayscaleData[idx + 1] = (0xFF << 24) | (RightPixelValue << 16) | (RightPixelValue << 8) | RightPixelValue; } return(Unswizzle ? BlockFormat.Decode(GrayscaleData, Width, Height, 8, 8) : GrayscaleData); }
private static byte[] EncodeIA8Routine(int[] ImageData, int Width, int Height) { ImageData = BlockFormat.Encode(ImageData, Width, Height, 4, 4); byte[] IA8Data = new byte[ImageData.Length * 2]; for (int i = 0; i < IA8Data.Length; i++) { int idx = i * 2; IA8Data[idx] = (byte)(ImageData[i] >> 24); IA8Data[idx + 1] = (byte)((((ImageData[i] >> 16) & 0xFF) * 0.2126) + (((ImageData[i] >> 8) & 0xFF) * 0.7152) + ((ImageData[i] & 0xFF) * 0.0722)); } return(IA8Data); }
private static byte[] EncodeIA4Routine(int[] ImageData, int Width, int Height) { ImageData = BlockFormat.Encode(ImageData, Width, Height, 8, 4); byte[] PackedIA4Data = new byte[ImageData.Length]; for (int i = 0; i < PackedIA4Data.Length; i++) { byte LeftValue = (byte)((ImageData[i] >> 24) & 0xFF); // Alpha byte RightValue = (byte)(ImageData[i] >> 16); // Only use red PackedIA4Data[i] = (byte)(((LeftValue / 16) << 4) | (RightValue / 16)); } return(PackedIA4Data); }
private static byte[] C8ImageSubroutineEncode(int[] ImageData, ushort[] Palette, int Width, int Height) { int[] RGB8Palette = new int[Palette.Length]; for (int i = 0; i < RGB8Palette.Length; i++) { RGB8Palette[i] = (int)RGB5A3.ToARGB8(Palette[i]); } byte[] C8Data = new byte[ImageData.Length]; for (int i = 0; i < C8Data.Length; i++) { C8Data[i] = Utilities.ColorUtilities.ClosestColorRGB(ImageData[i], RGB8Palette); } return(BlockFormat.Encode(C8Data, Width, Height, 8, 4)); }
private static byte[] EncodeI4Routine(int[] ImageData, int Width, int Height) { ImageData = BlockFormat.Encode(ImageData, Width, Height, 8, 8); byte[] PackedI4Data = new byte[ImageData.Length / 2]; // We're only taking the red channel here for re-encoding. for (int i = 0; i < PackedI4Data.Length; i++) { int idx = i * 2; byte LeftValue = (byte)(ImageData[idx] >> 16); byte RightValue = (byte)(ImageData[idx + 1] >> 16); PackedI4Data[i] = (byte)(((LeftValue / 0x10) << 4) | (RightValue / 0x10)); } return(PackedI4Data); }
private static byte[] C4ImageSubroutineEncode(int[] ImageData, ushort[] Palette, int Width, int Height, bool UsesBlocks = true) { int[] RGB8Palette = new int[Palette.Length]; for (int i = 0; i < RGB8Palette.Length; i++) { RGB8Palette[i] = (int)RGB5A3.ToARGB8(Palette[i]); } byte[] C4Data = new byte[ImageData.Length]; for (int i = 0; i < C4Data.Length; i++) { C4Data[i] = ColorUtilities.ClosestColorRGB(ImageData[i], RGB8Palette); } return(Utilities.Utilities.CondenseNibbles(UsesBlocks ? BlockFormat.Encode(C4Data, Width, Height, 8, 8) : C4Data)); }
virtual protected void HandlePaintEvent(Graphics g, Rectangle r) { using (Brush b = this.GetBrush()) { StringFormat fmt = new StringFormat(); fmt.Alignment = StringAlignment.Center; fmt.LineAlignment = StringAlignment.Center; if (b == null) { g.DrawString("No brush", new Font("Tahoma", 14), Brushes.DarkGray, r, fmt); } else { g.DrawString("Through a mirror darkly", new Font("Tahoma", 14), Brushes.Black, r, fmt); g.FillRectangle(BlockFormat.PrepareBrushForDrawing(b, r), r); } } }
private static int[] C8ImageSubroutineDecode(byte[] C8ImageData, ushort[] Palette, int Width, int Height) { int[] RGB8Palette = new int[Palette.Length]; for (int i = 0; i < RGB8Palette.Length; i++) { RGB8Palette[i] = (int)RGB5A3.ToARGB8(Palette[i]); } byte[] UnscrambledData = BlockFormat.Decode(C8ImageData, Width, Height, 8, 4); int[] ImageData = new int[UnscrambledData.Length]; for (int i = 0; i < ImageData.Length; i++) { ImageData[i] = RGB8Palette[UnscrambledData[i]]; } return(ImageData); }
/// <summary> /// Give the report a minimal set of default formatting values. /// </summary> public void ApplyModernFormatting() { this.listViewPrinter.CellFormat = null; this.listViewPrinter.ListFont = new Font("Ms Sans Serif", 9); this.listViewPrinter.ListGridPen = new Pen(Color.DarkGray, 0.5f); this.listViewPrinter.HeaderFormat = BlockFormat.Header(new Font("Verdana", 24, FontStyle.Bold)); this.listViewPrinter.HeaderFormat.BackgroundBrush = new LinearGradientBrush(new Point(0, 0), new Point(200, 0), Color.DarkBlue, Color.White); this.listViewPrinter.FooterFormat = BlockFormat.Footer(); this.listViewPrinter.FooterFormat.BackgroundBrush = new LinearGradientBrush(new Point(0, 0), new Point(200, 0), Color.White, Color.Blue); this.listViewPrinter.GroupHeaderFormat = BlockFormat.GroupHeader(); this.listViewPrinter.ListHeaderFormat = BlockFormat.ListHeader(new Font("Verdana", 12)); this.listViewPrinter.WatermarkFont = null; this.listViewPrinter.WatermarkColor = Color.Empty; }
public static int[] Decode(ushort[] rgba16Data, int width, int height) { var dataOut = new int[width * height]; var position = 0; rgba16Data = BlockFormat.Decode(rgba16Data, width, height, 4, 4); for (var y = 0; y < height; y++) { for (var x = 0; x < width; x++) { dataOut[position] = (int)RGB5A3.ToARGB8(rgba16Data[position]); position++; } } return(dataOut); }
/// <summary> /// Give the report a minimal set of default formatting values. /// </summary> public void ApplyModernFormatting() { this.listViewPrinter1.CellFormat = null; this.listViewPrinter1.ListFont = new Font("Verdana", 9); this.listViewPrinter1.ListGridPen = new Pen(Color.DarkGray, 0.5f); this.listViewPrinter1.HeaderFormat = BlockFormat.Header(new Font("Verdana", 24, FontStyle.Bold)); this.listViewPrinter1.HeaderFormat.BackgroundBrush = new LinearGradientBrush(new Rectangle(0, 0, 1, 1), Color.DarkBlue, Color.White, LinearGradientMode.Horizontal); this.listViewPrinter1.FooterFormat = BlockFormat.Footer(); this.listViewPrinter1.FooterFormat.BackgroundBrush = new LinearGradientBrush(new Rectangle(0, 0, 1, 1), Color.White, Color.DarkBlue, LinearGradientMode.Horizontal); this.listViewPrinter1.GroupHeaderFormat = BlockFormat.GroupHeader(); this.listViewPrinter1.ListHeaderFormat = BlockFormat.ListHeader(new Font("Verdana", 12)); this.listViewPrinter1.WatermarkFont = null; this.listViewPrinter1.WatermarkColor = Color.Empty; }
private static int[] C4ImageSubroutineDecode(byte[] C4ImageData, ushort[] Palette, int Width, int Height, bool UsesBlocks = true) { C4ImageData = Utilities.Utilities.SeparateNibbles(C4ImageData); int[] RGB8Palette = new int[Palette.Length]; for (int i = 0; i < RGB8Palette.Length; i++) { RGB8Palette[i] = (int)RGB5A3.ToARGB8(Palette[i]); } byte[] UnscrambledData = UsesBlocks ? BlockFormat.Decode(C4ImageData, Width, Height, 8, 8) : C4ImageData; int[] ImageData = new int[UnscrambledData.Length]; for (int i = 0; i < ImageData.Length; i++) { ImageData[i] = RGB8Palette[UnscrambledData[i]]; } return(ImageData); }
/// <summary> /// Give the report a minimal set of default formatting values. /// </summary> public void ApplyMinimalFormatting() { this.listViewPrinter1.CellFormat = null; this.listViewPrinter1.ListFont = new Font("Tahoma", 9); this.listViewPrinter1.HeaderFormat = BlockFormat.Header(); this.listViewPrinter1.HeaderFormat.TextBrush = Brushes.Black; this.listViewPrinter1.HeaderFormat.BackgroundBrush = null; this.listViewPrinter1.HeaderFormat.SetBorderPen(Sides.Bottom, new Pen(Color.Black, 0.5f)); this.listViewPrinter1.FooterFormat = BlockFormat.Footer(); this.listViewPrinter1.GroupHeaderFormat = BlockFormat.GroupHeader(); this.listViewPrinter1.GroupHeaderFormat.SetBorder(Sides.Bottom, 2, new LinearGradientBrush(new Rectangle(0, 0, 1, 1), Color.Gray, Color.White, LinearGradientMode.Horizontal)); this.listViewPrinter1.ListHeaderFormat = BlockFormat.ListHeader(); this.listViewPrinter1.ListHeaderFormat.BackgroundBrush = null; this.listViewPrinter1.WatermarkFont = null; this.listViewPrinter1.WatermarkColor = Color.Empty; }
/// <summary> /// Give the report a minimal set of default formatting values. /// </summary> public void ApplyMinimalFormatting() { this.listViewPrinter.CellFormat = null; this.listViewPrinter.ListFont = new Font("Tahoma", 9); this.listViewPrinter.HeaderFormat = BlockFormat.Header(); this.listViewPrinter.HeaderFormat.TextBrush = Brushes.Black; this.listViewPrinter.HeaderFormat.BackgroundBrush = null; this.listViewPrinter.HeaderFormat.SetBorderPen(Sides.Bottom, new Pen(Color.Black, 0.5f)); this.listViewPrinter.FooterFormat = BlockFormat.Footer(); this.listViewPrinter.GroupHeaderFormat = BlockFormat.GroupHeader(); Brush brush = new LinearGradientBrush(new Point(0, 0), new Point(200, 0), Color.Gray, Color.White); this.listViewPrinter.GroupHeaderFormat.SetBorder(Sides.Bottom, 2, brush); this.listViewPrinter.ListHeaderFormat = BlockFormat.ListHeader(); this.listViewPrinter.ListHeaderFormat.BackgroundBrush = null; this.listViewPrinter.WatermarkFont = null; this.listViewPrinter.WatermarkColor = Color.Empty; }
/// <summary> /// Unserializes a BinaryStream into the Attributes of this Instance /// </summary> /// <param name="reader">The Stream that contains the FileData</param> public void Unserialize(System.IO.BinaryReader reader) { number = reader.ReadInt32(); uint id = reader.ReadUInt32(); identity = (ElementIdentity)id; repeat = reader.ReadInt32(); blockformat = (SimPe.Plugin.Gmdc.BlockFormat)reader.ReadInt32(); setformat = (SimPe.Plugin.Gmdc.SetFormat)reader.ReadInt32(); GmdcElementValueBase dummy = GetValueInstance(); int len = reader.ReadInt32() / (4 * dummy.Size); data.Clear(); for (int i = 0; i < len; i++) { dummy = GetValueInstance(); dummy.Unserialize(reader); data.Add(dummy); } this.ReadBlock(reader, items); }
internal void MakeInterleave(ref System.IO.MemoryStream Data, byte[] Index, Color[] Palette, byte[] MipIndex, BlockFormats Format) { BlockFormat[][] fmt = new BlockFormat[][] { }; InitFMT(ref fmt); Data = new System.IO.MemoryStream(); System.IO.BinaryWriter DWriter = new System.IO.BinaryWriter(Data); uint ind_offset = 0; uint mip_offset = 0; uint pal_offset = 0; var format_ind = (int)Format; for (int i = 0; i <= fmt[format_ind].Length - 1; i++) { for (int j = 0; j <= fmt[format_ind][i].Index - 1; j++) { DWriter.Write(Index[j + ind_offset]); } for (int j = 0; j <= fmt[format_ind][i].Mip - 1; j++) { DWriter.Write(MipIndex[j + mip_offset]); } for (int j = 0; j <= fmt[format_ind][i].Palette / 4 - 1; j++) { DWriter.Write(Palette[j + pal_offset].R); DWriter.Write(Palette[j + pal_offset].G); DWriter.Write(Palette[j + pal_offset].B); DWriter.Write(Palette[j + pal_offset].A); } for (int j = 0; j <= fmt[format_ind][i].Space - 1; j++) { DWriter.Write(System.Convert.ToByte(255)); } ind_offset += fmt[format_ind][i].Index; mip_offset += fmt[format_ind][i].Mip; pal_offset += (uint)fmt[format_ind][i].Palette / 4; } }
internal void InitFMT(ref BlockFormat[][] fmt) { Array.Resize(ref fmt, 19); // fmt128x256 128I256 16P64S192 16S256 Array.Resize(ref fmt[0], 160); for (int i = 0; i <= 127; i++) { fmt[0][i] = new BlockFormat(256, 0, 0, 0); } for (int i = 128; i <= 143; i++) { fmt[0][i] = new BlockFormat(0, 0, 64, 192); } for (int i = 144; i <= 159; i++) { fmt[0][i] = new BlockFormat(0, 0, 0, 256); } // fmt128x128 64I256 16P64S192 16S256 Array.Resize(ref fmt[1], 96); for (int i = 0; i <= 63; i++) { fmt[1][i] = new BlockFormat(256, 0, 0, 0); } for (int i = 64; i <= 79; i++) { fmt[1][i] = new BlockFormat(0, 0, 64, 192); } for (int i = 80; i <= 95; i++) { fmt[1][i] = new BlockFormat(0, 0, 0, 256); } // fmt128x128mip 64I256 16M192P64 16S256 Array.Resize(ref fmt[2], 96); for (int i = 0; i <= 63; i++) { fmt[2][i] = new BlockFormat(256, 0, 0, 0); } for (int i = 64; i <= 79; i++) { fmt[2][i] = new BlockFormat(0, 192, 64, 0); } for (int i = 80; i <= 95; i++) { fmt[2][i] = new BlockFormat(0, 0, 0, 256); } // fmt128x64 32I256 16P64S192 16S256 Array.Resize(ref fmt[3], 64); for (int i = 0; i <= 31; i++) { fmt[3][i] = new BlockFormat(256, 0, 0, 0); } for (int i = 32; i <= 47; i++) { fmt[3][i] = new BlockFormat(0, 0, 64, 192); } for (int i = 48; i <= 63; i++) { fmt[3][i] = new BlockFormat(0, 0, 0, 256); } // fmt128x64mip 32I256 16M64S192 16M64P64S128 Array.Resize(ref fmt[4], 64); for (int i = 0; i <= 31; i++) { fmt[4][i] = new BlockFormat(256, 0, 0, 0); } for (int i = 32; i <= 47; i++) { fmt[4][i] = new BlockFormat(0, 64, 0, 192); } for (int i = 48; i <= 63; i++) { fmt[4][i] = new BlockFormat(0, 64, 64, 128); } // fmt128x32 16I256 16P64S192 16S256 Array.Resize(ref fmt[5], 48); for (int i = 0; i <= 15; i++) { fmt[5][i] = new BlockFormat(256, 0, 0, 0); } for (int i = 16; i <= 31; i++) { fmt[5][i] = new BlockFormat(0, 0, 64, 192); } for (int i = 32; i <= 47; i++) { fmt[5][i] = new BlockFormat(0, 0, 0, 256); } // fmt128x32mip 16I256 16M128P64S64 16S256 Array.Resize(ref fmt[6], 48); for (int i = 0; i <= 15; i++) { fmt[6][i] = new BlockFormat(256, 0, 0, 0); } for (int i = 16; i <= 31; i++) { fmt[6][i] = new BlockFormat(0, 128, 64, 64); } for (int i = 32; i <= 47; i++) { fmt[6][i] = new BlockFormat(0, 0, 0, 256); } // fmt64x64 16I128P64S64 16I128S128 Array.Resize(ref fmt[7], 32); for (int i = 0; i <= 15; i++) { fmt[7][i] = new BlockFormat(128, 0, 64, 64); } for (int i = 16; i <= 31; i++) { fmt[7][i] = new BlockFormat(128, 0, 0, 128); } // fmt64x64mip 16I128M64P64 16I128M64S64 Array.Resize(ref fmt[8], 32); for (int i = 0; i <= 15; i++) { fmt[8][i] = new BlockFormat(128, 0, 64, 64); } for (int i = 16; i <= 31; i++) { fmt[8][i] = new BlockFormat(128, 64, 0, 64); } // fmt64x32 16I128S128 16P64S192 Array.Resize(ref fmt[9], 32); for (int i = 0; i <= 15; i++) { fmt[9][i] = new BlockFormat(128, 0, 0, 128); } for (int i = 16; i <= 31; i++) { fmt[9][i] = new BlockFormat(0, 0, 64, 192); } // fmt64x32mip 16I128S128 16M64P64S128 Array.Resize(ref fmt[10], 32); for (int i = 0; i <= 15; i++) { fmt[10][i] = new BlockFormat(128, 0, 0, 128); } for (int i = 16; i <= 31; i++) { fmt[10][i] = new BlockFormat(0, 64, 64, 128); } // fmt32x64 16I64P64S128 16I64S192 Array.Resize(ref fmt[11], 32); for (int i = 0; i <= 15; i++) { fmt[11][i] = new BlockFormat(64, 0, 64, 128); } for (int i = 16; i <= 31; i++) { fmt[11][i] = new BlockFormat(64, 0, 0, 192); } // fmt32x64mip 16I64M64P64S64 16I64S192 Array.Resize(ref fmt[12], 32); for (int i = 0; i <= 15; i++) { fmt[12][i] = new BlockFormat(64, 64, 64, 64); } for (int i = 16; i <= 31; i++) { fmt[12][i] = new BlockFormat(64, 0, 0, 192); } // fmt32x32 16I64S192 16P64S192 Array.Resize(ref fmt[13], 32); for (int i = 0; i <= 15; i++) { fmt[13][i] = new BlockFormat(64, 0, 0, 192); } for (int i = 16; i <= 31; i++) { fmt[13][i] = new BlockFormat(0, 0, 64, 192); } // fmt32x32mip 16I64P64S128 16M32S224 Array.Resize(ref fmt[14], 32); for (int i = 0; i <= 15; i++) { fmt[14][i] = new BlockFormat(64, 0, 64, 128); } for (int i = 16; i <= 31; i++) { fmt[14][i] = new BlockFormat(0, 32, 0, 224); } // fmt32x16 8I64S192 16P64S192 8S256 EXPEREMENTAL! Array.Resize(ref fmt[15], 32); for (int i = 0; i <= 7; i++) { fmt[15][i] = new BlockFormat(64, 0, 0, 192); } for (int i = 8; i <= 15; i++) { fmt[15][i] = new BlockFormat(0, 0, 64, 224); } for (int i = 16; i <= 31; i++) { fmt[15][i] = new BlockFormat(0, 0, 0, 256); } // fmt32x16mip 8I64S192 4M32S224 4S256 16P64S192 Array.Resize(ref fmt[16], 32); for (int i = 0; i <= 7; i++) { fmt[16][i] = new BlockFormat(64, 0, 0, 192); } for (int i = 8; i <= 11; i++) { fmt[16][i] = new BlockFormat(0, 32, 0, 224); } for (int i = 12; i <= 15; i++) { fmt[16][i] = new BlockFormat(0, 0, 0, 256); } for (int i = 16; i <= 31; i++) { fmt[16][i] = new BlockFormat(0, 0, 64, 192); } // fmt32x8 4I64S192 12S256 16P64S192 Array.Resize(ref fmt[17], 32); for (int i = 0; i <= 3; i++) { fmt[17][i] = new BlockFormat(64, 0, 0, 192); } for (int i = 4; i <= 15; i++) { fmt[17][i] = new BlockFormat(0, 0, 0, 256); } for (int i = 16; i <= 31; i++) { fmt[17][i] = new BlockFormat(0, 0, 64, 192); } // fmt16x16mip 8I32S224 4M32S224 4S256 16P64 Array.Resize(ref fmt[18], 32); for (int i = 0; i <= 7; i++) { fmt[18][i] = new BlockFormat(32, 0, 0, 224); } for (int i = 8; i <= 11; i++) { fmt[18][i] = new BlockFormat(0, 32, 0, 224); } for (int i = 12; i <= 15; i++) { fmt[18][i] = new BlockFormat(0, 0, 0, 256); } for (int i = 16; i <= 31; i++) { fmt[18][i] = new BlockFormat(0, 0, 64, 192); } }