Debugger: Tile Viewer - Fixed presets not scrolling to the correct VRAM address
This commit is contained in:
parent
28443f84d6
commit
379e4069d1
1 changed files with 16 additions and 18 deletions
|
@ -410,6 +410,8 @@ namespace Mesen.GUI.Debugger
|
|||
|
||||
cboMemoryType.SetEnumValue(SnesMemoryType.VideoRam);
|
||||
cboFormat.SetEnumValue(format);
|
||||
nudAddress.Value = 0;
|
||||
nudSize.Value = 0x10000;
|
||||
|
||||
if(_state.Ppu.BgMode == 7) {
|
||||
nudAddress.Value = 0;
|
||||
|
@ -417,17 +419,14 @@ namespace Mesen.GUI.Debugger
|
|||
RefreshViewer();
|
||||
ctrlImagePanel.ScrollTo(0);
|
||||
} else {
|
||||
if(nudAddress.Maximum < _state.Ppu.Layers[layer].ChrAddress) {
|
||||
int gap = _state.Ppu.Layers[layer].ChrAddress - (int)nudAddress.Value;
|
||||
int bytesPerRow = GetBytesPerTile() / 8 * _options.Width;
|
||||
int scrollRow = (gap / bytesPerRow) & ~0x7;
|
||||
_selectedTile = scrollRow * bytesPerRow / GetBytesPerTile();
|
||||
} else {
|
||||
_selectedTile = 0;
|
||||
}
|
||||
int gap = _state.Ppu.Layers[layer].ChrAddress - (int)nudAddress.Value;
|
||||
int bytesPerRow = GetBytesPerTile() / 8 * _options.Width;
|
||||
int scrollRow = (gap / bytesPerRow) & ~0x7;
|
||||
_selectedTile = scrollRow * bytesPerRow / GetBytesPerTile();
|
||||
|
||||
nudAddress.Value = _state.Ppu.Layers[layer].ChrAddress;
|
||||
RefreshViewer();
|
||||
ctrlImagePanel.ScrollTo(0);
|
||||
ctrlImagePanel.ScrollTo(scrollRow * ctrlImagePanel.ImageScale);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -438,20 +437,19 @@ namespace Mesen.GUI.Debugger
|
|||
|
||||
cboMemoryType.SetEnumValue(SnesMemoryType.VideoRam);
|
||||
cboFormat.SetEnumValue(TileFormat.Bpp4);
|
||||
nudAddress.Value = 0;
|
||||
nudSize.Value = 0x10000;
|
||||
|
||||
int gap = address - (int)nudAddress.Value;
|
||||
int bytesPerRow = GetBytesPerTile() / 8 * _options.Width;
|
||||
int scrollRow = (gap / bytesPerRow) & ~0x7;
|
||||
_selectedTile = scrollRow * bytesPerRow / GetBytesPerTile();
|
||||
|
||||
if(nudAddress.Maximum < address) {
|
||||
int gap = address - (int)nudAddress.Value;
|
||||
int bytesPerRow = GetBytesPerTile() / 8 * _options.Width;
|
||||
int scrollRow = (gap / bytesPerRow) & ~0x7;
|
||||
_selectedTile = scrollRow * bytesPerRow / GetBytesPerTile();
|
||||
} else {
|
||||
_selectedTile = 0;
|
||||
}
|
||||
if(ctrlPaletteViewer.SelectedPalette < 8) {
|
||||
ctrlPaletteViewer.SelectedPalette = 8;
|
||||
}
|
||||
nudAddress.Value = address * 2;
|
||||
ctrlImagePanel.ScrollTo(0);
|
||||
ctrlImagePanel.ScrollTo(scrollRow * ctrlImagePanel.ImageScale);
|
||||
}
|
||||
|
||||
private void ctrlImagePanel_MouseClick(object sender, MouseEventArgs e)
|
||||
|
|
Loading…
Add table
Reference in a new issue