NES PPU - fix mouse over for pattern viewer - show correct addresses and show tile #

This commit is contained in:
andres.delikat 2011-03-14 02:07:09 +00:00
parent 2c5615073e
commit 0716a94f08
1 changed files with 20 additions and 3 deletions

View File

@ -17,9 +17,8 @@ namespace BizHawk.MultiClient
//TODO: //TODO:
//Pattern viewer - //Pattern viewer -
// Row interleaving // Row interleaving
// Proper color reading
// option for 2x view (and 4x?) // option for 2x view (and 4x?)
// Mouse over events // Mouse over - Usage (BG vs Sprite usage)
// Drop down menu for pattern viewer palette selections // Drop down menu for pattern viewer palette selections
//Sprite viewer //Sprite viewer
//Nametable viewer //Nametable viewer
@ -199,6 +198,7 @@ namespace BizHawk.MultiClient
PatternView.Refresh(); PatternView.Refresh();
Table1PaletteLabel.Text = "Palette: " + PatternView.Pal0; Table1PaletteLabel.Text = "Palette: " + PatternView.Pal0;
Table2PaletteLabel.Text = "Palette: " + PatternView.Pal1; Table2PaletteLabel.Text = "Palette: " + PatternView.Pal1;
PatternView.Refresh();
} }
private void PatternView_MouseEnter(object sender, EventArgs e) private void PatternView_MouseEnter(object sender, EventArgs e)
@ -214,11 +214,28 @@ namespace BizHawk.MultiClient
private void PatternView_MouseMove(object sender, MouseEventArgs e) private void PatternView_MouseMove(object sender, MouseEventArgs e)
{ {
int table = 0; int table = 0;
int address = 0;
int tile = 0;
if (e.X > PatternView.Width / 2) if (e.X > PatternView.Width / 2)
table = 1; table = 1;
int address = ((e.X + 8) / 8);
if (table == 0)
{
tile = address = (e.X - 1) / 8;
}
else
{
address = 0x1000 + ((e.X - 128) / 8);
tile = (e.X - 128) / 8;
}
address += (e.Y / 8) * 256;
tile += (e.Y / 8) * 16;
AddressLabel.Text = "Address: " + String.Format("{0:X4}", address); AddressLabel.Text = "Address: " + String.Format("{0:X4}", address);
ValueLabel.Text = "Table " + table.ToString(); ValueLabel.Text = "Table " + table.ToString();
Value2Label.Text = "Tile " + String.Format("{0:X2}", tile);
} }
} }
} }