Qt: Fix selecting high tiles in tile and map views (fixes #3461)

This commit is contained in:
Vicki Pfau 2025-04-09 20:30:49 -07:00
parent 86453b8107
commit 932062c1a4
3 changed files with 5 additions and 3 deletions

View File

@ -31,6 +31,7 @@ Other fixes:
- Qt: Fix savestate preview sizes with different scales (fixes mgba.io/i/2560)
- Qt: Fix potential crash when configuring shortcuts
- Qt: Fix regression where loading BIOS creates a save file (fixes mgba.io/i/3359)
- Qt: Fix selecting high tiles in tile and map views (fixes mgba.io/i/3461)
Misc:
- 3DS: Change title ID to avoid conflict with commercial title (fixes mgba.io/i/3023)
- Core: Handle relative paths for saves, screenshots, etc consistently (fixes mgba.io/i/2826)

View File

@ -56,7 +56,7 @@ MapView::MapView(std::shared_ptr<CoreController> controller, QWidget* parent)
#ifdef M_CORE_GB
case mPLATFORM_GB:
m_boundary = 1024;
m_ui.tile->setMaxTile(512);
m_ui.tile->setMaxTile(1024);
m_addressBase = GB_BASE_VRAM;
m_addressWidth = 4;
m_ui.bgInfo->addCustomProperty("screenBase", tr("Map base"));

View File

@ -61,7 +61,7 @@ TileView::TileView(std::shared_ptr<CoreController> controller, QWidget* parent)
m_ui.tilesBoth->setEnabled(false);
m_ui.palette256->setEnabled(false);
m_ui.tile->setBoundary(1024, 0, 0);
m_ui.tile->setMaxTile(512);
m_ui.tile->setMaxTile(896);
break;
#endif
default:
@ -201,7 +201,8 @@ void TileView::updateTilesGBA(bool force) {
#ifdef M_CORE_GB
void TileView::updateTilesGB(bool force) {
const GB* gb = static_cast<const GB*>(m_controller->thread()->core->board);
int count = gb->model >= GB_MODEL_CGB ? 1024 : 512;
// TODO: Strip out tiles 384-511, as they aren't valid
int count = gb->model >= GB_MODEL_CGB ? 896 : 384;
m_ui.tiles->setTileCount(count);
mTileCache* cache = mTileCacheSetGetPointer(&m_cacheSet->tiles, 0);
for (int i = 0; i < count; ++i) {