Refactor Bitmap class: remove deprecated constructor and update Initialize method signature
This commit is contained in:
@@ -1077,8 +1077,8 @@ absl::Status OverworldEditor::LoadGraphics() {
|
|||||||
util::logf("Loading overworld tile16 graphics.");
|
util::logf("Loading overworld tile16 graphics.");
|
||||||
// Loop through the tiles and copy their pixel data into separate vectors
|
// Loop through the tiles and copy their pixel data into separate vectors
|
||||||
for (unsigned int i = 0; i < zelda3::kNumTile16Individual; i++) {
|
for (unsigned int i = 0; i < zelda3::kNumTile16Individual; i++) {
|
||||||
tile16_individual_[i].Create(kTile16Size, kTile16Size, 0x08,
|
std::vector<uint8_t> tile16_data(kTile16Size * kTile16Size);
|
||||||
kTile16Size * kTile16Size);
|
tile16_individual_[i].Create(kTile16Size, kTile16Size, 0x08, tile16_data);
|
||||||
|
|
||||||
// Copy the pixel data for the current tile into the vector
|
// Copy the pixel data for the current tile into the vector
|
||||||
for (int ty = 0; ty < kTile16Size; ty++) {
|
for (int ty = 0; ty < kTile16Size; ty++) {
|
||||||
|
|||||||
@@ -6,9 +6,11 @@
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include <cstdint>
|
#include <cstdint>
|
||||||
|
#include <future>
|
||||||
#include <memory>
|
#include <memory>
|
||||||
|
|
||||||
#include "absl/status/status.h"
|
#include "absl/status/status.h"
|
||||||
|
#include "app/core/platform/renderer.h"
|
||||||
#include "app/gfx/snes_palette.h"
|
#include "app/gfx/snes_palette.h"
|
||||||
#include "util/macro.h"
|
#include "util/macro.h"
|
||||||
|
|
||||||
@@ -209,10 +211,6 @@ void Bitmap::SaveSurfaceToFile(std::string_view filename) {
|
|||||||
SDL_SaveBMP(surface_.get(), filename.data());
|
SDL_SaveBMP(surface_.get(), filename.data());
|
||||||
}
|
}
|
||||||
|
|
||||||
Bitmap::Bitmap(int width, int height, int depth, int data_size) {
|
|
||||||
Create(width, height, depth, std::vector<uint8_t>(data_size, 0));
|
|
||||||
}
|
|
||||||
|
|
||||||
void Bitmap::Initialize(int width, int height, int depth,
|
void Bitmap::Initialize(int width, int height, int depth,
|
||||||
std::span<uint8_t> &data) {
|
std::span<uint8_t> &data) {
|
||||||
width_ = width;
|
width_ = width;
|
||||||
|
|||||||
@@ -67,8 +67,6 @@ void ConvertPngToSurface(const std::vector<uint8_t> &png_data,
|
|||||||
class Bitmap {
|
class Bitmap {
|
||||||
public:
|
public:
|
||||||
Bitmap() = default;
|
Bitmap() = default;
|
||||||
|
|
||||||
Bitmap(int width, int height, int depth, int data_size);
|
|
||||||
Bitmap(int width, int height, int depth, const std::vector<uint8_t> &data)
|
Bitmap(int width, int height, int depth, const std::vector<uint8_t> &data)
|
||||||
: width_(width), height_(height), depth_(depth), data_(data) {
|
: width_(width), height_(height), depth_(depth), data_(data) {
|
||||||
Create(width, height, depth, data);
|
Create(width, height, depth, data);
|
||||||
@@ -85,6 +83,7 @@ class Bitmap {
|
|||||||
std::cerr << "Error applying palette in bitmap constructor." << std::endl;
|
std::cerr << "Error applying palette in bitmap constructor." << std::endl;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
void Initialize(int width, int height, int depth, std::span<uint8_t> &data);
|
||||||
|
|
||||||
#if YAZE_LIB_PNG == 1
|
#if YAZE_LIB_PNG == 1
|
||||||
std::vector<uint8_t> GetPngData();
|
std::vector<uint8_t> GetPngData();
|
||||||
@@ -92,11 +91,6 @@ class Bitmap {
|
|||||||
|
|
||||||
void SaveSurfaceToFile(std::string_view filename);
|
void SaveSurfaceToFile(std::string_view filename);
|
||||||
|
|
||||||
void Initialize(int width, int height, int depth, std::span<uint8_t> &data);
|
|
||||||
|
|
||||||
void Create(int width, int height, int depth, int data_size) {
|
|
||||||
Create(width, height, depth, std::vector<uint8_t>(data_size, 0));
|
|
||||||
}
|
|
||||||
void Create(int width, int height, int depth, std::span<uint8_t> data);
|
void Create(int width, int height, int depth, std::span<uint8_t> data);
|
||||||
void Create(int width, int height, int depth,
|
void Create(int width, int height, int depth,
|
||||||
const std::vector<uint8_t> &data);
|
const std::vector<uint8_t> &data);
|
||||||
|
|||||||
@@ -44,8 +44,8 @@ absl::StatusOr<Tilesheet> CreateTilesheetFromGraphicsBuffer(
|
|||||||
}
|
}
|
||||||
|
|
||||||
void Tilesheet::Init(int width, int height, TileType tile_type) {
|
void Tilesheet::Init(int width, int height, TileType tile_type) {
|
||||||
bitmap_ = std::make_shared<Bitmap>(width, height, 8, 0x20000);
|
|
||||||
internal_data_.resize(0x20000);
|
internal_data_.resize(0x20000);
|
||||||
|
bitmap_ = std::make_shared<Bitmap>(width, height, 8, internal_data_);
|
||||||
tile_type_ = tile_type;
|
tile_type_ = tile_type;
|
||||||
if (tile_type_ == TileType::Tile8) {
|
if (tile_type_ == TileType::Tile8) {
|
||||||
tile_width_ = 8;
|
tile_width_ = 8;
|
||||||
|
|||||||
Reference in New Issue
Block a user