Replace Toasts

Replace Toasts with ToastsV2
(MessageHandler)
This commit is contained in:
2023-08-28 18:43:59 +02:00
parent 566485ccd6
commit a671631dde
12 changed files with 145 additions and 138 deletions

View File

@@ -2,10 +2,12 @@
#include <renderd7/log.hpp>
#include <renderd7/renderd7.hpp>
#include <renderd7/renderd7_logo.hpp>
#include <renderd7/ToastsV2.hpp>
#define D7_NOTHING 0x00000000
#define CFGVER "6"
// Lot of internal stuff here
bool isndspinit = false;
bool running = true;
std::stack<std::unique_ptr<RenderD7::Scene>> RenderD7::Scene::scenes;
@@ -13,7 +15,6 @@ std::unique_ptr<RenderD7::Scene> tmpFadeS;
/// @brief Supports Multiple Overlays
std::vector<std::unique_ptr<RenderD7::Ovl>> overlays;
/// @brief Displays Overlays step by step from first 2 last
std::vector<std::unique_ptr<RenderD7::Ovl>> toast_overlays;
std::string dspststus = "Not Initialisized!";
int cobj___;
@@ -79,6 +80,8 @@ u64 delta_time;
u64 last_tm;
float dtm;
bool rd7_debugging = false;
// Lets define them to prevent from red lines in vscode lol
#ifndef V_TIME
#define V_TIME "0"
@@ -203,7 +206,7 @@ void RenderD7::Init::NdspFirm() {
dspststus = "Initialisized success!";
} else {
dspststus = "Not found: dspfirm.cdc";
RenderD7::AddToast(std::make_unique<RenderD7::DSP_NF>());
RenderD7::PushMessage(RenderD7::Message("RenderD7", "dspfirm.cdc not found!\nUnable to play sounds!"));
}
}
@@ -743,40 +746,7 @@ void RenderD7::DrawMetrikOvl() {
RenderD7::Draw::Text(0, infoy, mt_txtSize, mt_txtcolor, info);
}
RenderD7::DSP_NF::DSP_NF() {}
void RenderD7::DSP_NF::Draw(void) const {
RenderD7::OnScreen(Top);
RenderD7::Draw::Rect(0, msgposy, 400, 70, RenderD7::Color::Hex("#111111"));
RenderD7::Draw::Rect(0, msgposy, 400, 25, RenderD7::Color::Hex("#222222"));
RenderD7::Draw::Text(2, msgposy + 3, 0.7f, RenderD7::Color::Hex("#ffffff"),
"RenderD7: Warning!");
RenderD7::Draw::Text(2, msgposy + 30, 0.6f, RenderD7::Color::Hex("#ffffff"),
"You can't use Sound effects because the "
"file\n<<sdmc:/3ds/dspfirm.cdc>> was not found!");
}
void RenderD7::DSP_NF::Logic() {
this->delay++ /*=(int)RenderD7::GetDeltaTime()*/;
if (msgposy > 170 && delay < 5 * 60)
msgposy-- /*=(int)RenderD7::GetDeltaTime()*/;
if (delay >= 5 * 60) {
msgposy++ /*=(int)RenderD7::GetDeltaTime*/;
if (msgposy > 400)
this->Kill();
}
}
void OvlHandler() {
for (size_t i = 0; i < toast_overlays.size(); i++) {
if (toast_overlays[i]->IsKilled())
toast_overlays.erase(toast_overlays.begin() + i);
}
if ((int)toast_overlays.size() > 0) {
toast_overlays[0]->Draw();
toast_overlays[0]->Logic();
}
for (size_t i = 0; i < overlays.size(); i++) {
overlays[i]->Draw();
overlays[i]->Logic();
@@ -787,9 +757,9 @@ void OvlHandler() {
void RenderD7::FrameEnd() {
C3D_FrameBegin(2);
if (metrikd)
//if (metrikd)
RenderD7::DrawMetrikOvl();
RenderD7::ProcessMessages();
RenderD7::Ftrace::Beg("rd7oh", f2s(OvlHandler));
OvlHandler();
RenderD7::Ftrace::End("rd7oh", f2s(OvlHandler));
@@ -834,6 +804,8 @@ void RenderD7::RSettings::Draw(void) const {
RenderD7::Draw::Text(
0, 70, 0.7f, DSEVENBLACK,
"Current: " + std::to_string(RenderD7::Memory::GetCurrent()) + "b");
RenderD7::Draw::Text(0, 90, 0.7f, DSEVENBLACK,
"Delta: " + std::to_string(RenderD7::GetDeltaTime()));
RenderD7::OnScreen(Bottom);
std::string verc = "Config Version: ";
verc += CFGVER;
@@ -1074,10 +1046,6 @@ void RenderD7::AddOvl(std::unique_ptr<RenderD7::Ovl> overlay) {
overlays.push_back(std::move(overlay));
}
void RenderD7::AddToast(std::unique_ptr<RenderD7::Ovl> overlay) {
toast_overlays.push_back(std::move(overlay));
}
void RenderD7::FadeOut() {
if (!waitFade) {
fadein = true;