//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 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; }
private void LoadPalette() { PalettePointers = new PointerTable( rom, (pRom)(NesPalette.LevelPalettePointerTableOffset + Bank.Offset), 0x1c); _SpritePalette = NesPalette.FromLevel_SPR(this); _BgPalette = NesPalette.FromLevel_BG(this); if (Format.SupportsAltBgPalette) { _BgAltPalette = NesPalette.FromLevel_BG_Alt(this); } else { _BgAltPalette = _BgPalette; } if (Format.SupportsAltSpritePalette) { _SpriteAltPalette = NesPalette.FromLevel_SPR_Alt(this); } else { _SpriteAltPalette = _SpritePalette; } switch (this.index) { case LevelIndex.Brinstar: enemyPalettes = new int[] { 0, 0, 0, 0, 2, 3, 2, 0, 2, 3, 2, 0, 2, 3, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; break; case LevelIndex.Norfair: enemyPalettes = new int[] { 2, 3, 2, 0, 2, 3, 2, 0, 2, 3, 2, 0, 2, 3, 2, 0, 2, 3, 2, 0, 2, 3, 2, 0, 2, 3, 2, 3, 2, 3, 2, 0 }; break; case LevelIndex.Tourian: enemyPalettes = new int[] { 0, 3, 3, 0, 2, 3, 2, 0, 2, 3, 2, 0, 2, 3, 2, 0, 2, 3, 2, 0, 2, 3, 2, 0, 2, 3, 2, 0, 2, 3, 2, 0 }; break; case LevelIndex.Kraid: enemyPalettes = new int[] { 2, 3, 2, 0, 2, 3, 2, 0, 2, 3, 2, 0, 2, 3, 2, 0, 2, 3, 2, 0, 2, 3, 2, 0, 2, 3, 2, 0, 2, 3, 2, 0 }; break; case LevelIndex.Ridley: enemyPalettes = new int[] { 2, 3, 2, 0, 2, 3, 2, 0, 2, 3, 2, 0, 2, 3, 2, 0, 2, 3, 2, 3, 2, 3, 2, 0, 2, 3, 2, 0, 2, 3, 2, 0 }; break; } }
private void ApplyPalette(LevelIndex level) { NesPalette bgPal = rom.Levels[LevelIndex.Brinstar].BgPalette; NesPalette sprPal = rom.Levels[LevelIndex.Brinstar].SpritePalette; if (level != LevelIndex.None) { bgPal = rom.Levels[level].BgPalette; sprPal = rom.Levels[level].SpritePalette; } spritePatterns.LoadColors(sprPal, 2); bgPatterns.LoadColors(bgPal, 1); }
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 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(); }
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 LoadLevelData() { switch (palType) { case PaletteType.Background: palData = levelData.BgPalette; break; case PaletteType.AltBackground: palData = levelData.BgAltPalette; break; case PaletteType.Sprite: palData = levelData.SpritePalette; break; case PaletteType.AltSprite: palData = levelData.SpriteAltPalette; break; } RedrawAll(); }
public void SetPalette(NesPalette palette) { _Palette = palette ?? _Palette; }