Exemplo n.º 1
0
 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;
 }
Exemplo n.º 2
0
        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);
        }