Tiled sprite improvements!

This commit is contained in:
2023-05-14 19:06:37 -07:00
parent f44fe25011
commit e6c966f3dd
10 changed files with 128 additions and 54 deletions

View File

@ -63,11 +63,11 @@ TilesetGrid::TilesetGrid(
}
}
float_t TilesetGrid::getTileWidth() {
float_t TilesetGrid::getTileWidth(int32_t tile) {
return this->divX;
}
float_t TilesetGrid::getTileHeight() {
float_t TilesetGrid::getTileHeight(int32_t tile) {
return this->divY;
}

View File

@ -24,6 +24,22 @@ namespace Dawn {
* @return Tile at that index.
*/
struct Tile getTile(int32_t tile);
/**
* Returns the width of an individual tile.
*
* @param tile The tile to get the width of.
* @return The tile width.
*/
virtual float_t getTileWidth(int32_t tile) = 0;
/**
* Returns the height of an individual tile.
*
* @param tile The tile to get the height of.
* @return The tile height.
*/
virtual float_t getTileHeight(int32_t tile) = 0;
};
struct TilesetGrid : public Tileset{
@ -61,19 +77,8 @@ namespace Dawn {
int32_t borderY
);
/**
* Returns the width of an individual tile.
*
* @return The tile width.
*/
float_t getTileWidth();
/**
* Returns the height of an individual tile.
*
* @return The tile height.
*/
float_t getTileHeight();
float_t getTileWidth(int32_t tile) override;
float_t getTileHeight(int32_t tile) override;
/**
* Returns the tile at a given grid position.

View File

@ -45,7 +45,7 @@ void BitmapFont::buffer(
size_t wordStart = 0;
glm::vec2 xy0(0, 0);
glm::vec2 tileSize =
glm::vec2(tileset->getTileWidth(), tileset->getTileHeight()) *
glm::vec2(tileset->getTileWidth(0), tileset->getTileHeight(0)) *
(fontSize / this->getDefaultFontSize())
;
@ -142,9 +142,9 @@ void BitmapFont::draw(Mesh *mesh, int32_t start, int32_t len) {
}
float_t BitmapFont::getLineHeight(float_t fontSize) {
return tileset->getTileHeight();
return tileset->getTileHeight(0);
}
float_t BitmapFont::getDefaultFontSize() {
return tileset->getTileHeight();
return tileset->getTileHeight(0);
}