public PaletteViewer(File f) { InitializeComponent(); LanguageManager.ApplyToContainer(this, "PaletteViewer"); this.MdiParent = MdiParentForm.instance; this.f = f; this.pal = FilePalette.arrayToPalette(f.getContents()); if (pal.Length < 256) { is4bpp.Checked = true; } updatePalettes(); pictureBox1.Invalidate(); this.Icon = Properties.Resources.nsmbe; }
private Tilemap getTilemap() { getFiles(); if (GFXFile == null) { return(null); } if (PalFile == null) { return(null); } if (LayoutFile == null) { return(null); } LayoutFile = new CompressedFile(LayoutFile, CompressedFile.CompressionType.LZ); Image2D image = new Image2D(new CompressedFile(GFXFile, CompressedFile.CompressionType.MaybeCompressed), 256, false); CompressedFile paletteFile = new CompressedFile(PalFile, CompressedFile.CompressionType.MaybeCompressed); int palSize = 256; Color[] pal = FilePalette.arrayToPalette(paletteFile.getContents()); if (pal.Length < 256) { palSize = 16; } List <Palette> palettes = new List <Palette>(); for (int i = 0; i + palSize <= pal.Length; i += palSize) { int palOffs = i; int palLen = palSize; if (palOffs + palLen > pal.Length) { palLen = pal.Length - palOffs; } palettes.Add(new FilePalette(new InlineFile(paletteFile, palOffs * 2, palLen * 2, paletteFile.name))); } Tilemap t = new Tilemap(LayoutFile, 64, image, palettes.ToArray(), bg.BitmapOffset, bg.PaletteOffsets); return(t); }