NESPPU - speedups to palette viewer
This commit is contained in:
parent
e75052923a
commit
278a9486b6
|
@ -70,9 +70,12 @@ namespace BizHawk.MultiClient
|
||||||
//Pattern Viewer
|
//Pattern Viewer
|
||||||
for (int x = 0; x < 16; x++)
|
for (int x = 0; x < 16; x++)
|
||||||
{
|
{
|
||||||
|
PaletteView.bgPalettesPrev[x] = new PaletteViewer.Palette(PaletteView.bgPalettes[x]);
|
||||||
|
PaletteView.spritePalettesPrev[x] = new PaletteViewer.Palette(PaletteView.spritePalettes[x]);
|
||||||
PaletteView.bgPalettes[x].SetValue(Nes.LookupColor(Nes.ppu.PALRAM[PaletteView.bgPalettes[x].address]));
|
PaletteView.bgPalettes[x].SetValue(Nes.LookupColor(Nes.ppu.PALRAM[PaletteView.bgPalettes[x].address]));
|
||||||
PaletteView.spritePalettes[x].SetValue(Nes.LookupColor(Nes.ppu.PALRAM[PaletteView.spritePalettes[x].address]));
|
PaletteView.spritePalettes[x].SetValue(Nes.LookupColor(Nes.ppu.PALRAM[PaletteView.spritePalettes[x].address]));
|
||||||
}
|
}
|
||||||
|
if (PaletteView.HasChanged())
|
||||||
PaletteView.Refresh();
|
PaletteView.Refresh();
|
||||||
|
|
||||||
//Pattern Viewer
|
//Pattern Viewer
|
||||||
|
@ -116,7 +119,7 @@ namespace BizHawk.MultiClient
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
PatternView.pattern.UnlockBits(bmpdata);
|
PatternView.pattern.UnlockBits(bmpdata);
|
||||||
PatternView.Refresh();
|
//PatternView.Refresh();
|
||||||
/*
|
/*
|
||||||
int SpriteNum, TileNum, Attr, MemAddr;
|
int SpriteNum, TileNum, Attr, MemAddr;
|
||||||
|
|
||||||
|
|
|
@ -22,6 +22,13 @@ namespace BizHawk.MultiClient
|
||||||
value = -1;
|
value = -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Palette(Palette p)
|
||||||
|
{
|
||||||
|
address = p.address;
|
||||||
|
value = p.value;
|
||||||
|
color = p.color;
|
||||||
|
}
|
||||||
|
|
||||||
public int GetValue()
|
public int GetValue()
|
||||||
{
|
{
|
||||||
return value;
|
return value;
|
||||||
|
@ -45,6 +52,9 @@ namespace BizHawk.MultiClient
|
||||||
public Palette[] bgPalettes = new Palette[16];
|
public Palette[] bgPalettes = new Palette[16];
|
||||||
public Palette[] spritePalettes = new Palette[16];
|
public Palette[] spritePalettes = new Palette[16];
|
||||||
|
|
||||||
|
public Palette[] bgPalettesPrev = new Palette[16];
|
||||||
|
public Palette[] spritePalettesPrev = new Palette[16];
|
||||||
|
|
||||||
public PaletteViewer()
|
public PaletteViewer()
|
||||||
{
|
{
|
||||||
SetStyle(ControlStyles.AllPaintingInWmPaint, true);
|
SetStyle(ControlStyles.AllPaintingInWmPaint, true);
|
||||||
|
@ -65,27 +75,37 @@ namespace BizHawk.MultiClient
|
||||||
|
|
||||||
private void PaletteViewer_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e) { }
|
private void PaletteViewer_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e) { }
|
||||||
|
|
||||||
private void Display(Graphics g)
|
private void PaletteViewer_Paint(object sender, PaintEventArgs e)
|
||||||
{
|
{
|
||||||
unchecked
|
unchecked
|
||||||
{
|
{
|
||||||
Rectangle rect;
|
Rectangle rect;
|
||||||
for (int x = 0; x < 16; x++)
|
for (int x = 0; x < 16; x++)
|
||||||
|
{
|
||||||
|
if (bgPalettes[x] != bgPalettesPrev[x])
|
||||||
{
|
{
|
||||||
rect = new Rectangle(new Point(x * 16, 1), new Size(16, 16));
|
rect = new Rectangle(new Point(x * 16, 1), new Size(16, 16));
|
||||||
g.FillRectangle(new SolidBrush(bgPalettes[x].GetColor()), rect);
|
e.Graphics.FillRectangle(new SolidBrush(bgPalettes[x].GetColor()), rect);
|
||||||
}
|
}
|
||||||
for (int x = 0; x < 16; x++)
|
if (spritePalettes != spritePalettesPrev)
|
||||||
{
|
{
|
||||||
rect = new Rectangle(new Point(x * 16, 17), new Size(16, 16));
|
rect = new Rectangle(new Point(x * 16, 17), new Size(16, 16));
|
||||||
g.FillRectangle(new SolidBrush(spritePalettes[x].GetColor()), rect);
|
e.Graphics.FillRectangle(new SolidBrush(spritePalettes[x].GetColor()), rect);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void PaletteViewer_Paint(object sender, PaintEventArgs e)
|
public bool HasChanged()
|
||||||
{
|
{
|
||||||
Display(e.Graphics);
|
for (int x = 0; x < 16; x++)
|
||||||
|
{
|
||||||
|
if (bgPalettes[x] != bgPalettesPrev[x])
|
||||||
|
return true;
|
||||||
|
if (spritePalettes[x] != spritePalettesPrev[x])
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue