Update OvlHandler
This commit is contained in:
parent
5d3db56ee4
commit
f15e457947
68
renderd7.cpp
68
renderd7.cpp
@ -10,7 +10,7 @@ float animtime;
|
|||||||
bool isndspinit = false;
|
bool isndspinit = false;
|
||||||
bool running = true;
|
bool running = true;
|
||||||
std::stack<std::unique_ptr<RenderD7::Scene>> RenderD7::Scene::scenes;
|
std::stack<std::unique_ptr<RenderD7::Scene>> RenderD7::Scene::scenes;
|
||||||
//std::vector<RenderD7::Ovl> overlays;
|
std::stack<std::unique_ptr<RenderD7::Ovl>> overlays;
|
||||||
bool usedbgmsg = false;
|
bool usedbgmsg = false;
|
||||||
std::string dspststus = "Not Initialisized!";
|
std::string dspststus = "Not Initialisized!";
|
||||||
|
|
||||||
@ -629,6 +629,7 @@ Result RenderD7::Init::Main(std::string app_name)
|
|||||||
{
|
{
|
||||||
if (consoleModel != 3) gfxSetWide(true);
|
if (consoleModel != 3) gfxSetWide(true);
|
||||||
}
|
}
|
||||||
|
RenderD7::AddOvl(std::make_unique<RenderD7::DSP_NF>());
|
||||||
|
|
||||||
C3D_Init(C3D_DEFAULT_CMDBUF_SIZE);
|
C3D_Init(C3D_DEFAULT_CMDBUF_SIZE);
|
||||||
C2D_Init(size_t(maxobj__));
|
C2D_Init(size_t(maxobj__));
|
||||||
@ -951,13 +952,64 @@ bool RenderD7::DrawNFRect(float p1x, float p1y, float w, float h, u32 color, flo
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
RenderD7::DSP_NF::DSP_NF()
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
void RenderD7::DSP_NF::Draw(void) const
|
||||||
|
{
|
||||||
|
RenderD7::OnScreen(Top);
|
||||||
|
RenderD7::DrawRect(0, msgposy, 400, 70, RenderD7::Color::Hex("#111111"));
|
||||||
|
RenderD7::DrawRect(0, 0, 20, 20, RenderD7::Color::Hex("#cccccc"));
|
||||||
|
}
|
||||||
|
|
||||||
|
void RenderD7::DSP_NF::Logic()
|
||||||
|
{
|
||||||
|
for (int i = 0; i < 10*60; i++)
|
||||||
|
{
|
||||||
|
msgposy--;
|
||||||
|
if (msgposy < 240 - 70)
|
||||||
|
{
|
||||||
|
msgposy = 240 - 70;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
this->Kill();
|
||||||
|
}
|
||||||
|
|
||||||
|
void OvlHandler()
|
||||||
|
{
|
||||||
|
//for (int i = 0; i < (int)overlays.size(); i++)
|
||||||
|
//{
|
||||||
|
/*if (!overlays[i].IsKilled())
|
||||||
|
{
|
||||||
|
overlays[i].Draw();
|
||||||
|
overlays[i].Logic();
|
||||||
|
}
|
||||||
|
if (overlays[i].IsKilled())
|
||||||
|
{
|
||||||
|
overlays.erase(overlays.begin() + i);
|
||||||
|
}*/
|
||||||
|
if (!overlays.empty())
|
||||||
|
{
|
||||||
|
overlays.top()->Draw();
|
||||||
|
}
|
||||||
|
if (!overlays.empty())
|
||||||
|
{
|
||||||
|
overlays.top()->Logic();
|
||||||
|
}
|
||||||
|
if (!overlays.empty())
|
||||||
|
{
|
||||||
|
if (overlays.top()->IsKilled()) overlays.pop();
|
||||||
|
}
|
||||||
|
//}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
void RenderD7::FrameEnd()
|
void RenderD7::FrameEnd()
|
||||||
{
|
{
|
||||||
if (metrikd)RenderD7::DrawMetrikOvl();
|
if (metrikd)RenderD7::DrawMetrikOvl();
|
||||||
/*for (int i = 0; i < (int)overlays.size(); i++)
|
OvlHandler();
|
||||||
{
|
|
||||||
overlays[i].Draw();
|
|
||||||
}*/
|
|
||||||
if (d7_hHeld & KEY_R && d7_hDown & KEY_SELECT)
|
if (d7_hHeld & KEY_R && d7_hDown & KEY_SELECT)
|
||||||
{
|
{
|
||||||
RenderD7::LoadSettings();
|
RenderD7::LoadSettings();
|
||||||
@ -1006,10 +1058,10 @@ void RenderD7::LoadSettings(){
|
|||||||
RenderD7::Scene::Load(std::make_unique<RenderD7::RSettings>());
|
RenderD7::Scene::Load(std::make_unique<RenderD7::RSettings>());
|
||||||
}
|
}
|
||||||
|
|
||||||
/*void RenderD7::AddOvl(RenderD7::Ovl overlay)
|
void RenderD7::AddOvl(std::unique_ptr<RenderD7::Ovl> overlay)
|
||||||
{
|
{
|
||||||
overlays.push_back(overlay);
|
overlays.push(std::move(overlay));
|
||||||
}*/
|
}
|
||||||
|
|
||||||
/*RenderD7::Console::Console()
|
/*RenderD7::Console::Console()
|
||||||
{
|
{
|
||||||
|
20
renderd7.hpp
20
renderd7.hpp
@ -177,12 +177,28 @@ namespace RenderD7
|
|||||||
|
|
||||||
void LoadSettings();
|
void LoadSettings();
|
||||||
|
|
||||||
/*class Ovl {
|
class Ovl {
|
||||||
public:
|
public:
|
||||||
virtual ~Ovl(){}
|
virtual ~Ovl(){}
|
||||||
virtual void Draw() const = 0;
|
virtual void Draw() const = 0;
|
||||||
|
virtual void Logic() = 0;
|
||||||
|
inline bool IsKilled() {return this->iskilled; }
|
||||||
|
inline void Kill() { iskilled = true; }
|
||||||
|
private:
|
||||||
|
bool iskilled = false;
|
||||||
};
|
};
|
||||||
void AddOvl(RenderD7::Ovl overlay);*/
|
|
||||||
|
class DSP_NF : public RenderD7::Ovl
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
DSP_NF();
|
||||||
|
void Draw(void) const override;
|
||||||
|
void Logic() override;
|
||||||
|
private:
|
||||||
|
int msgposy = 240;
|
||||||
|
};
|
||||||
|
|
||||||
|
void AddOvl(std::unique_ptr<RenderD7::Ovl> scene);
|
||||||
namespace Color
|
namespace Color
|
||||||
{
|
{
|
||||||
struct rgba
|
struct rgba
|
||||||
|
Loading…
Reference in New Issue
Block a user