mirror of
https://github.com/zoriya/ComSquare.git
synced 2025-12-20 14:15:11 +00:00
moving internal functions of background to private area
This commit is contained in:
@@ -38,16 +38,6 @@ namespace ComSquare::PPU
|
||||
}
|
||||
}
|
||||
|
||||
/*uint16_t Background::getGraphicVramAddress(int x, int y, int bg, int bpp)
|
||||
{
|
||||
uint16_t baseAddress = this->_registers._bgnba[bg > 2].raw;
|
||||
int step = bpp * 8;
|
||||
|
||||
baseAddress = (bg % 2) ? baseAddress & 0xFU : (baseAddress & 0xFU) >> 4U;
|
||||
baseAddress = baseAddress << 12U;
|
||||
return baseAddress + (x * 16 * step) + (y * step);
|
||||
}*/
|
||||
|
||||
void Background::drawBgTile(uint16_t data, Vector2<int> pos)
|
||||
{
|
||||
uint16_t graphicAddress;
|
||||
@@ -64,7 +54,7 @@ namespace ComSquare::PPU
|
||||
palette = getPalette(tileData.palette);
|
||||
reference = getTilePixelReference(graphicAddress, index);
|
||||
color = getRealColor(palette[reference]);
|
||||
this->_renderer.putPixel(pos.x, pos.y, color);
|
||||
this->_buffer[pos.x][pos.y] = color;
|
||||
index++;
|
||||
pos.x++;
|
||||
if (index == (8 / this->_bpp) - 1) {
|
||||
|
||||
@@ -22,12 +22,8 @@ namespace ComSquare::PPU
|
||||
bool _priority;
|
||||
uint16_t _vramAddress;
|
||||
uint16_t _graphicVramAddress;
|
||||
|
||||
std::array<std::array<uint32_t, 1024>, 1024> _buffer;
|
||||
public:
|
||||
Background(int bpp, Vector2<int> backgroundSize, Vector2<int> characterSize, bool directColor, bool highRes, bool priority, uint16_t vramAddress, uint16_t graphicVramAddress);
|
||||
//! @brief Render a background on the screen
|
||||
void renderBackground(void);
|
||||
|
||||
//! @brief Draw a tile on the screen at x y pos
|
||||
void drawBgTile(uint16_t data, Vector2<int> pos);
|
||||
//! @brief Get a palette from the number of the palette (0 - 7)
|
||||
@@ -38,6 +34,10 @@ namespace ComSquare::PPU
|
||||
uint8_t getTilePixelReference(uint16_t addr, int nb);
|
||||
//! @brief draw a tilemap 32x32 starting at baseAddress
|
||||
void drawBasicTileMap(uint16_t baseAddress, Vector2<int> offset);
|
||||
public:
|
||||
Background(int bpp, Vector2<int> backgroundSize, Vector2<int> characterSize, bool directColor, bool highRes, bool priority, uint16_t vramAddress, uint16_t graphicVramAddress);
|
||||
//! @brief Render a background on the screen
|
||||
void renderBackground(void);
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user