real fix for tilemap drawing

This commit is contained in:
Clément Le Bihan
2021-07-03 17:47:30 +02:00
parent 2bae2fcbc6
commit 6691a40c42
5 changed files with 30 additions and 26 deletions
+8 -8
View File
@@ -130,11 +130,11 @@ namespace ComSquare::PPU
this->_backgrounds[addr - PpuRegisters::bg1sc + 1].setTileMapStartAddress(
this->getTileMapStartAddress(addr - PpuRegisters::bg1sc + 1));
this->_backgrounds[addr - PpuRegisters::bg1sc].setTilemaps(
{this->_registers._bgsc[addr - PpuRegisters::bg1sc].tilemapHorizontalMirroring,
this->_registers._bgsc[addr - PpuRegisters::bg1sc].tilemapVerticalMirroring});
{static_cast<bool>(this->_registers._bgsc[addr - PpuRegisters::bg1sc].tilemapHorizontalMirroring),
static_cast<bool>(this->_registers._bgsc[addr - PpuRegisters::bg1sc].tilemapVerticalMirroring)});
this->_backgrounds[addr - PpuRegisters::bg1sc + 1].setTilemaps(
{this->_registers._bgsc[addr - PpuRegisters::bg1sc].tilemapHorizontalMirroring,
this->_registers._bgsc[addr - PpuRegisters::bg1sc].tilemapVerticalMirroring});
{static_cast<bool>(this->_registers._bgsc[addr - PpuRegisters::bg1sc].tilemapHorizontalMirroring),
static_cast<bool>(this->_registers._bgsc[addr - PpuRegisters::bg1sc].tilemapVerticalMirroring)});
break;
case PpuRegisters::bg12nba:
case PpuRegisters::bg34nba:
@@ -540,12 +540,12 @@ namespace ComSquare::PPU
return baseAddress;
}
Vector2<int> PPU::getBackgroundSize(int bgNumber) const
Vector2<bool> PPU::getBackgroundMirroring(int bgNumber) const
{
Vector2<int> backgroundSize(0,0);
Vector2<bool> backgroundSize(false, false);
backgroundSize.y = (this->_registers._bgsc[bgNumber - 1].tilemapVerticalMirroring) ? 2 : 1;
backgroundSize.x = (this->_registers._bgsc[bgNumber - 1].tilemapHorizontalMirroring) ? 2 : 1;
backgroundSize.y = this->_registers._bgsc[bgNumber - 1].tilemapVerticalMirroring;
backgroundSize.x = this->_registers._bgsc[bgNumber - 1].tilemapHorizontalMirroring;
return backgroundSize;
}