Add FOntRestore and Make Settings use default font
This commit is contained in:
parent
62d37d227d
commit
17c36bb05e
@ -49,6 +49,7 @@ std::string TextShort(const std::string& in, int max_len);
|
||||
void TextMaxBox(R7Vec2 size);
|
||||
void TextDefaultBox();
|
||||
void TextFont(Font::Ref fnt);
|
||||
void TextFontRestore();
|
||||
void TextDefaultFont();
|
||||
namespace Draw2 {
|
||||
void Rect(R7Vec2 pos, R7Vec2 size, unsigned int color, int t = 1);
|
||||
|
@ -21,6 +21,14 @@
|
||||
#include <renderd7/external/json.hpp>
|
||||
#include <renderd7/renderd7.hpp>
|
||||
|
||||
namespace RenderD7 {
|
||||
namespace IDB {
|
||||
void Start();
|
||||
void Stop();
|
||||
void Restart();
|
||||
} // namespace IDB
|
||||
} // namespace RenderD7
|
||||
|
||||
// Outdated HidApi (HidV2Patched)
|
||||
extern u32 d7_hDown;
|
||||
extern u32 d7_hHeld;
|
||||
|
@ -97,13 +97,13 @@ class RSettings : public RenderD7::Scene {
|
||||
private:
|
||||
/// @brief State (Define for Menus)
|
||||
enum RState {
|
||||
RSETTINGS,
|
||||
RSETTINGS, // Main Settings Menu
|
||||
RINFO,
|
||||
RSERVICES,
|
||||
RMCONFIG,
|
||||
RFTRACE,
|
||||
RUI7,
|
||||
RCREDITS
|
||||
RIDB, // Internal Debugger
|
||||
ROVERLAYS,
|
||||
RFTRACE, // FTRace Menu
|
||||
RUI7, // UI7 Menu
|
||||
RCREDITS // Unused?
|
||||
};
|
||||
|
||||
/// @param shared_request Defines requests from Draw to Logic
|
||||
|
@ -18,8 +18,6 @@
|
||||
|
||||
#include "scene.hpp"
|
||||
|
||||
extern void IdbServer();
|
||||
|
||||
int main() {
|
||||
rd7_enable_memtrack = true;
|
||||
rd7_do_splash = true;
|
||||
@ -28,7 +26,6 @@ int main() {
|
||||
RD7::FadeIn();
|
||||
auto fnt = RD7::Font::New("romfs:/roboto_bold.bcfnt");
|
||||
RD7::TextFont(fnt);
|
||||
// IdbServer();
|
||||
// RD7::Init::NdspFirm();
|
||||
RD7::Scene::Load(std::make_unique<Sample>());
|
||||
RD7::Ftrace::End("app", "app_init");
|
||||
|
@ -107,10 +107,6 @@ void Sample::Draw() const {
|
||||
RD7TextFlags_AlignRight);
|
||||
RD7::UndoColorEdit(RD7Color_Text);*/
|
||||
if (UI7::BeginMenu("RenderD7 Test Framework")) {
|
||||
UI7::SetCursorPos(R7Vec2(395, 2));
|
||||
UI7::Label(RD7::FormatBytes(RD7::Memory::GetCurrent()),
|
||||
RD7TextFlags_AlignRight);
|
||||
UI7::RestoreCursor();
|
||||
if (state == State_Menu) {
|
||||
UI7::Label("SZS: " + std::to_string(img.size()));
|
||||
UI7::Grid("Images", R7Vec2(390, 180), testv2, display_icon,
|
||||
|
@ -25,6 +25,7 @@
|
||||
const float rd7i_d7_dts = 0.5f;
|
||||
float rd7i_d2_txt_size = rd7i_d7_dts;
|
||||
C2D_Font rd7i_d2_fnt = nullptr;
|
||||
C2D_Font rd7i_d2_fntb = nullptr;
|
||||
R7Vec2 rd7i_d7_mwh = R7Vec2(0, 0);
|
||||
std::map<std::string, float> rd7i_d2_ts;
|
||||
std::map<std::string, int> rd7i_d2_mln;
|
||||
@ -123,9 +124,24 @@ void TextMaxBox(R7Vec2 size) { rd7i_d7_mwh = size; }
|
||||
|
||||
void TextDefaultBox() { rd7i_d7_mwh = R7Vec2(0, 0); }
|
||||
|
||||
void TextFont(Font::Ref fnt) { rd7i_d2_fnt = fnt->Ptr(); }
|
||||
void TextFont(Font::Ref fnt) {
|
||||
rd7i_d2_fntb = rd7i_d2_fnt;
|
||||
rd7i_d2_fnt = fnt->Ptr();
|
||||
}
|
||||
|
||||
void TextDefaultFont() { rd7i_d2_fnt = rd7i_base_font; }
|
||||
void TextFontRestore() {
|
||||
// Create temp copy
|
||||
// Restore other font
|
||||
// Set other to temp
|
||||
auto tmp = rd7i_d2_fnt;
|
||||
rd7i_d2_fnt = rd7i_d2_fntb;
|
||||
rd7i_d2_fntb = tmp;
|
||||
}
|
||||
|
||||
void TextDefaultFont() {
|
||||
rd7i_d2_fntb = rd7i_d2_fnt;
|
||||
rd7i_d2_fnt = rd7i_base_font;
|
||||
}
|
||||
|
||||
float TextGetSize() { return rd7i_d2_txt_size; }
|
||||
|
||||
|
@ -230,10 +230,11 @@ void ServerThread(RenderD7::Parameter param) {
|
||||
return;
|
||||
}
|
||||
rd7i_idb_running = true;
|
||||
rd7i_idb_fp = false;
|
||||
atexit(KillIdbServer);
|
||||
tcp_server server("0.0.0.0", 4727);
|
||||
int cmd = 0;
|
||||
while (true && !rd7i_idb_fp) {
|
||||
while (!rd7i_idb_fp) {
|
||||
size_t r = server.rec(&cmd, sizeof(int));
|
||||
if (r == 0) {
|
||||
server.reconnect();
|
||||
@ -259,6 +260,7 @@ void ServerThread(RenderD7::Parameter param) {
|
||||
} else if (cmd == 3) {
|
||||
rd7i_reacttion(3);
|
||||
RenderD7::ExitApp();
|
||||
rd7i_idb_fp = true;
|
||||
} else {
|
||||
rd7i_reacttion(1234);
|
||||
}
|
||||
@ -266,7 +268,21 @@ void ServerThread(RenderD7::Parameter param) {
|
||||
rd7i_idb_running = false;
|
||||
}
|
||||
|
||||
void IdbServer() {
|
||||
namespace RenderD7 {
|
||||
namespace IDB {
|
||||
void Start() {
|
||||
if (rd7i_idb_running) return;
|
||||
rd7i_idb_server.initialize(ServerThread);
|
||||
rd7i_idb_server.start(true);
|
||||
}
|
||||
void Stop() {
|
||||
if (!rd7i_idb_running) return;
|
||||
rd7i_idb_fp = true;
|
||||
KillIdbServer();
|
||||
}
|
||||
void Restart() {
|
||||
Stop();
|
||||
Start();
|
||||
}
|
||||
} // namespace IDB
|
||||
} // namespace RenderD7
|
@ -315,7 +315,6 @@ bool RenderD7::MainLoop() {
|
||||
RenderD7::Ftrace::End("rd7sm", f2s(RenderD7::Scene::doLogic));
|
||||
}
|
||||
|
||||
// Disably Overlays For one Frame
|
||||
RenderD7::Ftrace::End("rd7-core", f2s(RenderD7::MainLoop));
|
||||
return rd7i_running;
|
||||
}
|
||||
@ -485,6 +484,9 @@ void RenderD7::FrameEnd() {
|
||||
}
|
||||
|
||||
RenderD7::RSettings::RSettings() {
|
||||
// RenderD7 Settings is designed for
|
||||
// System Font
|
||||
RenderD7::TextDefaultFont();
|
||||
tmp_txt = RenderD7::TextGetSize();
|
||||
RenderD7::TextDefaultSize();
|
||||
RenderD7::FadeIn();
|
||||
@ -496,7 +498,10 @@ RenderD7::RSettings::RSettings() {
|
||||
stateftold = rd7i_ftraced;
|
||||
}
|
||||
|
||||
RenderD7::RSettings::~RSettings() { RenderD7::CustomTextSize(tmp_txt); }
|
||||
RenderD7::RSettings::~RSettings() {
|
||||
RenderD7::TextFontRestore();
|
||||
RenderD7::CustomTextSize(tmp_txt);
|
||||
}
|
||||
|
||||
std::vector<std::string> StrHelper(std::string input) {
|
||||
std::string ss(input);
|
||||
@ -538,7 +543,10 @@ void RenderD7::RSettings::Draw(void) const {
|
||||
shared_request[0x00000001] = RUI7;
|
||||
}
|
||||
if (UI7::Button("Overlays")) {
|
||||
shared_request[0x00000001] = RMCONFIG;
|
||||
shared_request[0x00000001] = ROVERLAYS;
|
||||
}
|
||||
if (UI7::Button("IDB")) {
|
||||
shared_request[0x00000001] = RIDB;
|
||||
}
|
||||
if (UI7::Button("Back")) {
|
||||
shared_request[0x00000002] = 1U;
|
||||
@ -549,21 +557,32 @@ void RenderD7::RSettings::Draw(void) const {
|
||||
UI7::EndMenu();
|
||||
}
|
||||
|
||||
} else if (m_state == RSERVICES) {
|
||||
} else if (m_state == RIDB) {
|
||||
RenderD7::OnScreen(Top);
|
||||
RenderD7::Draw2::RFS(R7Vec2(0, 0), R7Vec2(400, 240),
|
||||
RenderD7::StyleColor(RD7Color_Background));
|
||||
RenderD7::Draw2::RFS(R7Vec2(0, 0), R7Vec2(400, 20),
|
||||
RenderD7::StyleColor(RD7Color_Header));
|
||||
RenderD7::TextColorByBg(RD7Color_Header);
|
||||
RenderD7::Draw2::Text(R7Vec2(5, 2), "RenderD7 -> Security");
|
||||
RenderD7::Draw2::Text(R7Vec2(395, 2), RENDERD7VSTRING,
|
||||
RD7TextFlags_AlignRight);
|
||||
RenderD7::UndoColorEdit(RD7Color_Text);
|
||||
if (UI7::BeginMenu("RenderD7 -> Debugger")) {
|
||||
UI7::SetCursorPos(R7Vec2(395, 2));
|
||||
UI7::Label(RENDERD7VSTRING, RD7TextFlags_AlignRight);
|
||||
UI7::RestoreCursor();
|
||||
UI7::Label("Server Running: " +
|
||||
std::string(rd7i_idb_running ? "true" : "false"));
|
||||
UI7::EndMenu();
|
||||
}
|
||||
RenderD7::OnScreen(Bottom);
|
||||
RenderD7::Draw2::RFS(R7Vec2(0, 0), R7Vec2(320, 240),
|
||||
RenderD7::StyleColor(RD7Color_Background));
|
||||
RenderD7::Draw2::Text(R7Vec2(5, 2), "Press \uE001 to go back!");
|
||||
if (UI7::BeginMenu("Press \uE001 to go back!")) {
|
||||
if (UI7::Button("Start Server")) {
|
||||
RenderD7::IDB::Start();
|
||||
}
|
||||
UI7::SameLine();
|
||||
if (UI7::Button("Stop Server")) {
|
||||
RenderD7::IDB::Stop();
|
||||
}
|
||||
UI7::SameLine();
|
||||
if (UI7::Button("Restart Server")) {
|
||||
RenderD7::IDB::Restart();
|
||||
}
|
||||
|
||||
UI7::EndMenu();
|
||||
}
|
||||
|
||||
} else if (m_state == RINFO) {
|
||||
std::string rd7ver = RENDERD7VSTRING;
|
||||
@ -711,7 +730,7 @@ void RenderD7::RSettings::Draw(void) const {
|
||||
UI7::Checkbox("Debug", UI7::IsDebugging());
|
||||
UI7::EndMenu();
|
||||
}
|
||||
} else if (m_state == RMCONFIG) {
|
||||
} else if (m_state == ROVERLAYS) {
|
||||
RenderD7::OnScreen(Top);
|
||||
if (UI7::BeginMenu("RenderD7 -> Metrik")) {
|
||||
UI7::SetCursorPos(R7Vec2(395, 2));
|
||||
@ -796,7 +815,12 @@ void RenderD7::RSettings::Logic() {
|
||||
m_state = RSETTINGS;
|
||||
}
|
||||
}
|
||||
if (m_state == RSERVICES) {
|
||||
if (m_state == ROVERLAYS) {
|
||||
if (d7_hDown & KEY_B) {
|
||||
m_state = RSETTINGS;
|
||||
}
|
||||
}
|
||||
if (m_state == RIDB) {
|
||||
if (d7_hDown & KEY_B) {
|
||||
m_state = RSETTINGS;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user