Remove Unused Stuff

This commit is contained in:
tobid7 2024-06-13 22:13:17 +02:00
parent 1271b9fa9a
commit b6798fa069
9 changed files with 36 additions and 40 deletions

View File

@ -94,6 +94,7 @@ class Theme {
void UndoAll();
void TextBy(RD7Color bg);
RD7Color AutoText(RD7Color bg);
void ClearHistory() { changes.clear(); }
std::vector<unsigned int> &GetTableRef() { return clr_tab; }
// For Smart Pointer

View File

@ -30,10 +30,11 @@ namespace RenderD7 {
class Image {
public:
Image();
~Image();
~Image() = default;
RD7_SMART_CTOR(Image)
void Load(const std::string& path);
void From_NIMG(const nimg& image);
void Delete();
C2D_Image Get();
C2D_Image& GetRef();
@ -42,8 +43,6 @@ class Image {
bool Loadet();
private:
void safe_del();
bool ld = false;
C2D_Image img;
};
} // namespace RenderD7

View File

@ -22,6 +22,7 @@
#include <citro3d.h>
#include <renderd7/smart_ctor.hpp>
#include <renderd7/Image.hpp>
#include <string>
namespace RenderD7 {
@ -41,6 +42,9 @@ class Sheet {
Result Load(const std::string& path);
/// @brief Unload the Sheet
void Free();
Image::Ref GetImage(int idx);
C2D_SpriteSheet Get() { return this->spritesheet; }
private:
/// \param spritesheet The Sheet
C2D_SpriteSheet spritesheet;
};

View File

@ -158,18 +158,6 @@ int GetFps();
/// @param e To
/// @return Random Int
int GetRandomInt(int b, int e);
/// @brief DrawMetrikOvl (YOUR OWN RISK)
void DrawMetrikOvl();
/// @brief Draw Image from RenderD7 Sheet
/// @param sheet Spritesheet
/// @param index Image index Value
/// @param x Pos X
/// @param y Pos Y
/// @param scaleX Scale on X-Axis
/// @param scaleY Scale on Y-Axis
/// @return success ?
bool DrawImageFromSheet(RenderD7::Sheet *sheet, size_t index, float x, float y,
float scaleX = 1.0, float scaleY = 1.0);
/// @brief Fade In
/// @param duration Duration in Frames
void FadeIn();

View File

@ -21,6 +21,8 @@
#include <renderd7/Image.hpp>
#include <vector>
#include <renderd7/internal_db.hpp>
static u32 __rd7i_gp2o__(u32 v) {
v--;
v |= v >> 1;
@ -109,27 +111,27 @@ Image::Image() {
img.subtex = nullptr;
}
Image::~Image() { safe_del(); }
void Image::Load(const std::string &path) {
// Make sure to cleanup
safe_del();
ld = false;
Delete();
// Setup Func and Load Data
int w, h, c = 0;
uint8_t *image = stbi_load(path.c_str(), &w, &h, &c, 4);
if (image == nullptr) {
_rd7i_logger()->Write("Failed to Load Image: " + path);
return;
}
// Size/Fmt Check
if (w > 1024 || h > 1024) {
// Reason: Image to Large
_rd7i_logger()->Write("Image too Large!");
stbi_image_free(image);
return;
}
std::vector<uint8_t> wimg(w * h * 4);
if (c == 3) {
_rd7i_logger()->Write("Convert Image to RGBA");
stbi_image_free(image);
image = stbi_load(path.c_str(), &w, &h, &c, 3);
__rd7i_r24r32(wimg, std::vector<uint8_t>(image, image + (w * h * 3)), w, h);
@ -146,13 +148,11 @@ void Image::Load(const std::string &path) {
__rd7i_c3dc2d__(tex, subtex, wimg.data(), (u32)(w * h * 4), (u32)w, (u32)h);
img.tex = tex;
img.subtex = subtex;
ld = true;
}
void Image::From_NIMG(const nimg &image) {
// Make sure to cleanup
safe_del();
ld = false;
Delete();
if (image.width > 1024 || image.height > 1024) return;
C3D_Tex *tex = new C3D_Tex;
Tex3DS_SubTexture *subtex = new Tex3DS_SubTexture;
@ -161,14 +161,13 @@ void Image::From_NIMG(const nimg &image) {
(u32)image.height);
img.tex = tex;
img.subtex = subtex;
ld = true;
}
C2D_Image Image::Get() { return img; }
C2D_Image &Image::GetRef() { return img; }
void Image::Set(const C2D_Image &i) {
safe_del();
Delete();
img = i;
}
@ -177,10 +176,16 @@ R7Vec2 Image::GetSize() {
return R7Vec2(img.subtex->width, img.subtex->height);
}
void Image::safe_del() {
if (img.subtex != nullptr) delete img.subtex;
if (img.tex != nullptr) delete img.tex;
void Image::Delete() {
if (img.subtex != nullptr) {
delete img.subtex;
img.subtex = nullptr;
}
if (img.tex != nullptr) {
delete img.tex;
img.tex = nullptr;
}
}
bool Image::Loadet() { return ld; }
bool Image::Loadet() { return (img.subtex != nullptr && img.tex != nullptr); }
} // namespace RenderD7

View File

@ -148,6 +148,7 @@ void R2Base::Process() {
line++;
}
} else if (it.type == 4) {
if(it.img->Loadet())
C2D_DrawImageAt(it.img->Get(), it.pos.x, it.pos.y, 0.5f);
} else if (it.type == 5) {
// TODO: Move the Draw Func into this API

View File

@ -20,6 +20,7 @@
#include <renderd7/internal_db.hpp>
Result RenderD7::Sheet::Load(const std::string& path) {
if (this->spritesheet) Free();
this->spritesheet = C2D_SpriteSheetLoad(path.c_str());
if (!this->spritesheet) {
_rd7i_logger()->Write("Failed to Load Spritesheet from: " + path, 0);
@ -32,3 +33,10 @@ void RenderD7::Sheet::Free() {
C2D_SpriteSheetFree(this->spritesheet);
this->spritesheet = nullptr;
}
RenderD7::Image::Ref RenderD7::Sheet::GetImage(int idx) {
if (!this->spritesheet) return nullptr;
Image::Ref img = Image::New();
img->GetRef() = C2D_SpriteSheetGetImage(this->spritesheet, idx);
return img;
}

View File

@ -19,7 +19,7 @@
#include <renderd7/Sprite.hpp>
void RenderD7::Sprite::FromSheet(RenderD7::Sheet::Ref sheet, size_t index) {
C2D_SpriteFromSheet(&this->sprite, sheet->spritesheet, index);
C2D_SpriteFromSheet(&this->sprite, sheet->Get(), index);
}
bool RenderD7::Sprite::Draw() {
// Patch Depth before draw

View File

@ -250,16 +250,6 @@ RenderD7::LoggerBase::Ref RenderD7::Logger() {
float RenderD7::GetDeltaTime() { return (float)rd7i_dtm; }
bool RenderD7::DrawImageFromSheet(RenderD7::Sheet *sheet, size_t index, float x,
float y, float scaleX, float scaleY) {
if (sheet->spritesheet != nullptr) {
if (C2D_SpriteSheetCount(sheet->spritesheet) >= index) {
return C2D_DrawImageAt(C2D_SpriteSheetGetImage(sheet->spritesheet, index),
x, y, 0.5f, nullptr, scaleX, scaleY);
}
}
return false;
}
void RenderD7::Init::NdspFirm() {
if (access("sdmc:/3ds/dspfirm.cdc", F_OK) != -1) {
ndspInit();