2024-02-19 19:20:37 +01:00
|
|
|
#include <renderd7/Sheet.hpp>
|
2024-06-12 19:03:41 +02:00
|
|
|
#include <renderd7/internal_db.hpp>
|
2024-02-19 19:20:37 +01:00
|
|
|
|
|
|
|
Result RenderD7::Sheet::Load(const std::string& path) {
|
2024-06-13 22:13:17 +02:00
|
|
|
if (this->spritesheet) Free();
|
2024-02-19 19:20:37 +01:00
|
|
|
this->spritesheet = C2D_SpriteSheetLoad(path.c_str());
|
2024-06-12 19:03:41 +02:00
|
|
|
if (!this->spritesheet) {
|
|
|
|
_rd7i_logger()->Write("Failed to Load Spritesheet from: " + path, 0);
|
|
|
|
}
|
2024-02-19 19:20:37 +01:00
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
void RenderD7::Sheet::Free() {
|
2024-06-12 19:03:41 +02:00
|
|
|
if (!this->spritesheet) return;
|
2024-02-19 19:20:37 +01:00
|
|
|
C2D_SpriteSheetFree(this->spritesheet);
|
|
|
|
this->spritesheet = nullptr;
|
|
|
|
}
|
2024-06-13 22:13:17 +02:00
|
|
|
|
2024-06-16 22:28:16 +02:00
|
|
|
C2D_Image RenderD7::Sheet::GetImage(int idx) {
|
|
|
|
if (!this->spritesheet) return {nullptr, nullptr};
|
|
|
|
return C2D_SpriteSheetGetImage(this->spritesheet, idx);
|
2024-06-13 22:13:17 +02:00
|
|
|
}
|