public void ApplyLevelPalette(System.Drawing.Bitmap image) { System.Drawing.Imaging.ColorPalette bitmapPalette = image.Palette; // Get brush paletteIndex NesPalette bgPalette = Level.BgPalette; // Get ROM palettes NesPalette spritePalette = Level.SpritePalette; bgPalette.ApplyTable(bitmapPalette.Entries); // Apply to brush paletteIndex bgPalette.ApplyTable(bitmapPalette.Entries, 16); spritePalette.ApplyTable(bitmapPalette.Entries, 32); spritePalette.ApplyTable(bitmapPalette.Entries, 48); image.Palette = bitmapPalette; // Apply back to brush paletteIndex }
//public void SetPalette(NesPalette pal, int paltable) { // ColorPalette p = tiles.Palette; // pal.ApplyTable(p.Entries, 0, paltable * 4, 4); //} public void SetPalette(NesPalette pal) { ColorPalette p = tiles.Palette; pal.ApplyTable(p.Entries); tiles.Palette = p; this.DoubleBuffered = true; }
public void LoadLevel(Level lvl) { levelData = lvl; Patterns = (Bitmap)lvl.Patterns.PatternImage.Clone(); Palette = lvl.BgPalette; altPalette = lvl.BgAltPalette; var buffpal = buffer.Palette; Palette.ApplyTable(buffpal.Entries); altPalette.ApplyTable(buffpal.Entries, 16); Palette.ApplyTable(buffpal.Entries, 32, 0, 16, invertColor); altPalette.ApplyTable(buffpal.Entries, 48, 0, 16, invertColor); buffer.Palette = buffpal; readyToRender = true; }
public void LoadColors(NesPalette palette, int palIndex) { Color[] palColors = new Color[16]; palette.ApplyTable(palColors); Color[] pal4 = new Color[4]; pal4[0] = palColors[4 * palIndex]; pal4[1] = palColors[4 * palIndex + 1]; pal4[2] = palColors[4 * palIndex + 2]; pal4[3] = palColors[4 * palIndex + 3]; Palette = pal4; }
public void SetPalette(NesPalette pal, int table) { if (Image == null) { queuedPalette = pal; queuedTable = table; return; } ColorPalette p = Image.Palette; pal.ApplyTable(p.Entries, 0, table * 4, 4); Image.Palette = p; Invalidate(); }