add num_sheets arg to SnesTo8bppSheet
This commit is contained in:
@@ -149,14 +149,15 @@ std::vector<uint8_t> Convert4bppTo3bpp(const std::vector<uint8_t>& tiles) {
|
|||||||
return ConvertBpp(tiles, 4, 3);
|
return ConvertBpp(tiles, 4, 3);
|
||||||
}
|
}
|
||||||
|
|
||||||
std::vector<uint8_t> SnesTo8bppSheet(const std::vector<uint8_t>& sheet,
|
std::vector<uint8_t> SnesTo8bppSheet(const std::vector<uint8_t>& sheet, int bpp,
|
||||||
int bpp) {
|
int num_sheets) {
|
||||||
int xx = 0; // positions where we are at on the sheet
|
int xx = 0; // positions where we are at on the sheet
|
||||||
int yy = 0;
|
int yy = 0;
|
||||||
int pos = 0;
|
int pos = 0;
|
||||||
int ypos = 0;
|
int ypos = 0;
|
||||||
int num_tiles = 64;
|
int num_tiles = 64;
|
||||||
int buffer_size = 0x1000;
|
int buffer_size = 0x1000;
|
||||||
|
|
||||||
if (bpp == 2) {
|
if (bpp == 2) {
|
||||||
bpp = 16;
|
bpp = 16;
|
||||||
num_tiles = 128;
|
num_tiles = 128;
|
||||||
@@ -169,6 +170,12 @@ std::vector<uint8_t> SnesTo8bppSheet(const std::vector<uint8_t>& sheet,
|
|||||||
} else if (bpp == 8) {
|
} else if (bpp == 8) {
|
||||||
bpp = 64;
|
bpp = 64;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (num_sheets != 1) {
|
||||||
|
num_tiles *= num_sheets;
|
||||||
|
buffer_size *= num_sheets;
|
||||||
|
}
|
||||||
|
|
||||||
std::vector<uint8_t> sheet_buffer_out(buffer_size);
|
std::vector<uint8_t> sheet_buffer_out(buffer_size);
|
||||||
|
|
||||||
for (int i = 0; i < num_tiles; i++) { // for each tiles, 16 per line
|
for (int i = 0; i < num_tiles; i++) { // for each tiles, 16 per line
|
||||||
|
|||||||
@@ -19,7 +19,7 @@ constexpr uint8_t kGraphicsBitmap[8] = {0x80, 0x40, 0x20, 0x10,
|
|||||||
0x08, 0x04, 0x02, 0x01};
|
0x08, 0x04, 0x02, 0x01};
|
||||||
|
|
||||||
std::vector<uint8_t> SnesTo8bppSheet(const std::vector<uint8_t>& sheet,
|
std::vector<uint8_t> SnesTo8bppSheet(const std::vector<uint8_t>& sheet,
|
||||||
int bpp);
|
int bpp, int num_sheets = 1);
|
||||||
std::vector<uint8_t> Bpp8SnesToIndexed(std::vector<uint8_t> data,
|
std::vector<uint8_t> Bpp8SnesToIndexed(std::vector<uint8_t> data,
|
||||||
uint64_t bpp = 0);
|
uint64_t bpp = 0);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user