Alpha 0.9.0

This commit is contained in:
tobid7 2022-12-09 14:55:19 +01:00
parent 89299bf91e
commit 8a0fd07275
4 changed files with 153 additions and 191 deletions

View File

@ -86,6 +86,8 @@
"xstddef": "cpp",
"xtr1common": "cpp",
"xtree": "cpp",
"xutility": "cpp"
"xutility": "cpp",
"queue": "cpp",
"semaphore": "cpp"
}
}

View File

@ -9,8 +9,8 @@ endif
include $(DEVKITARM)/3ds_rules
export renderd7_MAJOR := 0
export renderd7_MINOR := 8
export renderd7_PATCH := 5
export renderd7_MINOR := 9
export renderd7_PATCH := 0
VERSION := $(renderd7_MAJOR).$(renderd7_MINOR).$(renderd7_PATCH)

View File

@ -32,6 +32,7 @@
#include <renderd7/Sheet.hpp>
#include <renderd7/Sprite.hpp>
#include <renderd7/SpriteAnimation.hpp>
#include <renderd7/Tasks.hpp>
#include <renderd7/Time.hpp>
#include <renderd7/Toast.hpp>
#include <renderd7/bmp.hpp>
@ -42,29 +43,33 @@
#include <renderd7/parameter.hpp>
#include <renderd7/stringtool.hpp>
#include <renderd7/thread.hpp>
#include <renderd7/Tasks.hpp>
extern "C" {
#include <renderd7/external/fs.h>
}
#define RENDERD7VSTRING "0.8.5"
#define RENDERD7VSTRING "0.9.0"
#define CHANGELOG \
"0.8.5: Fix Deltatime 0.8.4: A lot of Fixes and new Features for " \
"BitmapPrinter! 0.8.3: Addet " \
"Overlaycount to Info and Addet ResultDecoder for " \
"errors.0.8.2: Fix a lot of Stuff and add c++17 based filesystem " \
"class.\n0.8.1: " \
"Add abillity to Get Stdout as string to render it to the " \
"screen.\n0.8.0: Implement BitmapPrinter\n0.7.3: Implement Over Render " \
"Overlay " \
"Framework\n0.7.2: Implement MT to csv file saving. Add RGB2HEX. \n0.7.1: " \
"Add the New Overlay Handler. Its Just in code and does nothing yet. " \
"\n0.7.0: Made Big Progress In the MT Ovl but it still crashes On a Scnd " \
"C3D_FrameEnd(). Implement 800px but doesn't work that good. \n0.6.2: Fix " \
"Crash when exiting trouth Home Menu. \n0.6.10: rewrite Threadsystem, " \
"Improve framerate\n0.6.02: Fix Code in lang.hpp\nadd Draw Text Left " \
"Function.\nadd changelog\n0.6.01: add Threading system."
"0.9.0: Remove Stupid try of Console\nAdd Services list and Clean up " \
"Code.\nAlso added Minimal Init for hax2.x\n0.8.5: Fix Deltatime \n0.8.4: " \
"A lot of Fixes and new\nFeatures for BitmapPrinter! \n0.8.3: Addet " \
"Overlaycount to Info\nand Addet ResultDecoder for errors.\n0.8.2: Fix a " \
"lot of Stuff and\nadd c++17 based filesystem class.\n0.8.1: Add abillity " \
"to Get Stdout as string\nto render it to the screen.\n0.8.0: Implement " \
"BitmapPrinter\n0.7.3: Implement Over\nRender Overlay Framework\n0.7.2: " \
"Implement MT to csv file\nsaving.(removed) Add RGB2HEX.\n0.7.1: Add the " \
"New Overlay Handler. Its\nJust in code and does nothing yet.\n0.7.0: Made " \
"Big Progress In the MT\nOvl but it still crashes On\na Scnd " \
"C3D_FrameEnd()." \
"\nImplement 800px but\ndoesn't work that good. \n0.6.2: Fix Crash when " \
"exiting\ntrouth Home Menu.\n0.6.10: rewrite Threadsystem,\nImprove " \
"framerate\n0.6.02: Fix Code in lang.hpp\nadd Draw Text Left " \
"Function\n(Right since 0.7.0).\nadd changelog\n0.6.01: add Threading " \
"system.\n0.6.0: Better " \
"Scene Management\n0.5.0: Fixed some Bugs!\n0.4.0: Trying to fix " \
"Filesystem and Bugs!\n0.3.0: Recreate D7-Core into RenderD7!\n0.2.0: " \
"Trying to create Animations of\nImages instead of Sheets!\n0.1.0: Initial " \
"Release of\nD7-Core sprite animation plugin!"
#define DEFAULT_CENTER 0.5f
/*extern C3D_RenderTarget* Top;
@ -110,11 +115,12 @@ public:
class RSettings : public RenderD7::Scene {
private:
enum RState { RSETTINGS, RINFO };
enum RState { RSETTINGS, RINFO, RSERVICES, RCLOG };
RenderD7::RSettings::RState m_state = RenderD7::RSettings::RState::RSETTINGS;
mutable float txtposy = 30;
std::string rd7srstate = "false";
std::string csvstate = "false";
std::string mtovlstate = "false";
std::string fpsstate = "60";
std::string mtscreenstate = "Top";
@ -124,13 +130,13 @@ private:
std::vector<RenderD7::TObject> buttons = {
{20, 35, 120, 35, "RD7SR", -11, 10},
{20, 85, 120, 35, "MT_CSV", -15, 9},
{20, 85, 120, 35, "Changelog", -27, 9},
{20, 135, 120, 35, "MT_OVL", -19, 10},
{20, 185, 120, 35, "FPS", 6, 10},
{180, 35, 120, 35, "MTSCREEN", -29, 10},
{180, 85, 120, 35, "DSPERR", -13, 10},
{180, 135, 120, 35, "INFO", 2, 10},
{180, 185, 120, 35, "", -13, 10}};
{180, 185, 120, 35, "Services", -13, 10}};
public:
RSettings();
@ -165,7 +171,7 @@ Result Main(std::string app_name = "RD7Game");
Result Minimal(std::string app_name = "RD7Game");
Result Reload();
void Graphics();
void NdspFirm(bool useit = false);
void NdspFirm();
} // namespace Init
namespace Exit {
void Main();
@ -259,31 +265,6 @@ struct Checkbox {
};
void DrawCheckbox(Checkbox box);
class Console {
public:
Console();
Console(int x, int y, int w, int h, u8 a = 255);
Console(int x, int y, int w, int h, RenderD7::Color::rgba col);
Console(int x, int y, int w, int h, std::string name,
RenderD7::Color::rgba col = {255, 255, 255, 255},
RenderD7::Color::rgba barcol = {0, 0, 0, 255},
RenderD7::Color::rgba outlinecol = {222, 222, 222, 255});
void On(C3D_RenderTarget *t_cscreen);
bool Update();
~Console();
private:
std::vector<std::string> m_lines;
int x, y, w, h;
std::string m_name = "";
C3D_RenderTarget *cscreen;
bool m_nconsole = false;
bool m_mconsole = false;
RenderD7::Color::rgba color = {255, 255, 255, 255};
RenderD7::Color::rgba outlinecol = {222, 222, 222, 255};
RenderD7::Color::rgba barcolor = {0, 0, 0, 255};
};
void GetDirContentsExt(std::vector<RenderD7::DirContent> &dircontent,
const std::vector<std::string> &extensions);
void GetDirContents(std::vector<RenderD7::DirContent> &dircontent);

View File

@ -5,7 +5,8 @@
#define TICKS_PER_MSEC 268111.856
#define D7_NOTHING C2D_Color32(0, 0, 0, 0)
#define CFGVER "3"
#define CFGVER "4"
Log renderd7log;
float animtime;
bool isndspinit = false;
@ -66,14 +67,6 @@ bool metrikd = false;
// double mt_fpsgraph[320];
std::vector<int> mt_fpsgraph(320);
// Metrik-CSV
std::string csvpc;
bool mt_dumpcsv = false; // Logs the Fps and stuff to csv. It saves every second
// to not loose performence.
bool mt_csvloop = false; // Saves In Every Frame but slows down performens.
// mt_dumpcsv must be enabled.
std::ofstream mt_csv;
std::string mt_cname;
//-------------------------------------------
bool currentScreen = false;
@ -93,6 +86,13 @@ bool fadeout = false, fadein = false, fadeout2 = false, fadein2 = false;
int fadealpha = 0;
int fadecolor = 0;
// Sercices
int sv_gfx = 0;
int sv_dsp = 0;
int sv_cfgu = 0;
int sv_apt = 0;
int sv_romfs = 0;
std::string _FMT_(const std::string &fmt_str, ...) {
va_list ap;
char *fp = NULL;
@ -137,17 +137,17 @@ bool RenderD7::DrawImageFromSheet(RenderD7::Sheet *sheet, size_t index, float x,
}
return false;
}
void RenderD7::Init::NdspFirm(bool useit) {
if (useit) {
if (access("sdmc:/3ds/dspfirm.cdc", F_OK) != -1) {
ndspInit();
isndspinit = true;
dspststus = "Initialisized success!";
} else {
dspststus = "Not found: dspfirm.cdc";
renderd7log.Write("RenderD7: SoundEngine Error! ndspfirm not found!");
RenderD7::AddOvl(std::make_unique<RenderD7::DSP_NF>());
}
void RenderD7::Init::NdspFirm() {
if (access("sdmc:/3ds/dspfirm.cdc", F_OK) != -1) {
Result res;
res = ndspInit();
sv_dsp = R_FAILED(res) ? 1 : 2;
isndspinit = true;
dspststus = "Initialisized success!";
} else {
dspststus = "Not found: dspfirm.cdc";
renderd7log.Write("RenderD7: SoundEngine Error! ndspfirm not found!");
RenderD7::AddOvl(std::make_unique<RenderD7::DSP_NF>());
}
}
void RenderD7::Exit::NdspFirm() {
@ -295,9 +295,11 @@ bool RenderD7::MainLoop() {
if (!aptMainLoop())
return false;
//Deltatime
// Deltatime
uint64_t currentTime = svcGetSystemTick();
dtm = ((float)(currentTime / (float)TICKS_PER_MSEC) - (float)(last_tm / (float)TICKS_PER_MSEC)) / 1000.f;
dtm = ((float)(currentTime / (float)TICKS_PER_MSEC) -
(float)(last_tm / (float)TICKS_PER_MSEC)) /
1000.f;
last_tm = currentTime;
hidScanInput();
@ -353,6 +355,7 @@ void RenderD7::Exit::Graphics() {
Result RenderD7::Init::Main(std::string app_name) {
gfxInitDefault();
sv_gfx = 2;
// consoleInit(GFX_TOP, NULL);
Result res = cfguInit();
if (R_SUCCEEDED(res)) {
@ -365,9 +368,12 @@ Result RenderD7::Init::Main(std::string app_name) {
gfxSetWide(consoleModel != 3);
}
printf("rd7sr\n");
aptInit();
romfsInit();
cfguInit();
res = aptInit();
sv_apt = R_FAILED(res) ? 1 : 2;
res = romfsInit();
sv_romfs = R_FAILED(res) ? 1 : 2;
res = cfguInit();
sv_cfgu = R_FAILED(res) ? 1 : 2;
printf("stuff\n");
if (cobj___) {
maxobj__ = cobj___;
@ -378,13 +384,9 @@ Result RenderD7::Init::Main(std::string app_name) {
D_app_name = app_name;
cfgpath = "sdmc:/RenderD7/Apps/";
cfgpath += D_app_name;
csvpc = "sdmc:/RenderD7/Apps/";
csvpc += D_app_name;
csvpc += "/mt";
mkdir("sdmc:/RenderD7/", 0777);
mkdir("sdmc:/RenderD7/Apps", 0777);
mkdir(cfgpath.c_str(), 0777);
mkdir(csvpc.c_str(), 0777);
bool renew = false;
printf("folderset\n");
if (FS::FileExist(cfgpath + "/config.ini")) {
@ -420,8 +422,6 @@ Result RenderD7::Init::Main(std::string app_name) {
cfgstruct["metrik-settings"]["ColorA"] = "255";
cfgstruct["metrik-settings"]["Color"] = "#000000";
cfgstruct["metrik-settings"]["txtSize"] = "0.7f";
cfgstruct["metrik-settings"]["dumpcsv"] = "0";
cfgstruct["metrik-settings"]["dumpcsvloop"] = "0";
cfgfile->write(cfgstruct);
}
if (renew)
@ -448,10 +448,6 @@ Result RenderD7::Init::Main(std::string app_name) {
rd7_superreselution =
RenderD7::Convert::FloatToBool(RenderD7::Convert::StringtoFloat(
cfgstruct["settings"]["super-reselution"]));
mt_dumpcsv = RenderD7::Convert::FloatToBool(RenderD7::Convert::StringtoFloat(
cfgstruct["metrik-settings"]["dumpcsv"]));
mt_csvloop = RenderD7::Convert::FloatToBool(RenderD7::Convert::StringtoFloat(
cfgstruct["metrik-settings"]["dumpcsvloop"]));
printf("read\n");
// Check if citra
s64 citracheck = 0;
@ -467,19 +463,6 @@ Result RenderD7::Init::Main(std::string app_name) {
}
printf("rd7sr\n");
// consoleInit(GFX_BOTTOM, NULL);
if (mt_dumpcsv) {
mt_cname = csvpc;
mt_cname += "/";
mt_cname += Date();
mt_cname += ".csv";
FILE *logfile = fopen((mt_cname.c_str()), "w");
fclose(logfile);
mt_csv.open((mt_cname), std::ofstream::app);
mt_csv << "FPS,CPU,GPU,CMD\n";
mt_csv.close();
}
printf("csv\n");
C3D_Init(C3D_DEFAULT_CMDBUF_SIZE);
C2D_Init(C2D_DEFAULT_MAX_OBJECTS);
@ -496,11 +479,13 @@ Result RenderD7::Init::Main(std::string app_name) {
return 0;
}
Result RenderD7::Init::Minimal(std::string app_name)
{
Result RenderD7::Init::Minimal(std::string app_name) {
D_app_name = app_name;
Result res_;
gfxInitDefault();
romfsInit();
sv_gfx = 2;
res_ = romfsInit();
sv_romfs = R_FAILED(res_) ? 1 : 2;
// Check if citra
s64 citracheck = 0;
svcGetSystemInfo(&citracheck, 0x20000, 0);
@ -514,13 +499,9 @@ Result RenderD7::Init::Minimal(std::string app_name)
}
cfgpath = "sdmc:/RenderD7/Apps/";
cfgpath += D_app_name;
csvpc = "sdmc:/RenderD7/Apps/";
csvpc += D_app_name;
csvpc += "/mt";
mkdir("sdmc:/RenderD7/", 0777);
mkdir("sdmc:/RenderD7/Apps", 0777);
mkdir(cfgpath.c_str(), 0777);
mkdir(csvpc.c_str(), 0777);
bool renew = false;
printf("folderset\n");
if (FS::FileExist(cfgpath + "/config.ini")) {
@ -556,8 +537,6 @@ Result RenderD7::Init::Minimal(std::string app_name)
cfgstruct["metrik-settings"]["ColorA"] = "255";
cfgstruct["metrik-settings"]["Color"] = "#000000";
cfgstruct["metrik-settings"]["txtSize"] = "0.7f";
cfgstruct["metrik-settings"]["dumpcsv"] = "0";
cfgstruct["metrik-settings"]["dumpcsvloop"] = "0";
cfgfile->write(cfgstruct);
}
if (renew)
@ -584,17 +563,12 @@ Result RenderD7::Init::Minimal(std::string app_name)
rd7_superreselution =
RenderD7::Convert::FloatToBool(RenderD7::Convert::StringtoFloat(
cfgstruct["settings"]["super-reselution"]));
mt_dumpcsv = RenderD7::Convert::FloatToBool(RenderD7::Convert::StringtoFloat(
cfgstruct["metrik-settings"]["dumpcsv"]));
mt_csvloop = RenderD7::Convert::FloatToBool(RenderD7::Convert::StringtoFloat(
cfgstruct["metrik-settings"]["dumpcsvloop"]));
printf("boost\n");
if (!is_citra && rd7_superreselution) {
if (consoleModel != 3)
gfxSetWide(true);
}
osSetSpeedupEnable(true);
C3D_Init(C3D_DEFAULT_CMDBUF_SIZE);
C2D_Init(C2D_DEFAULT_MAX_OBJECTS);
@ -934,18 +908,6 @@ void RenderD7::FrameEnd() {
{
RenderD7::LoadSettings();
}*/
if (mt_dumpcsv && lp == 60) {
std::string _mt_fps = RenderD7::GetFramerate();
std::string _mt_cpu = std::to_string(C3D_GetProcessingTime()).substr(0, 4);
std::string _mt_gpu = std::to_string(C3D_GetDrawingTime()).substr(0, 4);
std::string _mt_cmd = std::to_string(C3D_GetCmdBufUsage()).substr(0, 4);
mt_csv.open((mt_cname), std::ofstream::app);
std::string fmt_ =
_mt_fps + "," + _mt_cpu + "," + _mt_gpu + "," + _mt_cmd + "\n";
mt_csv << fmt_;
mt_csv.close();
lp = 0;
}
lp++;
C3D_FrameEnd(0);
@ -959,6 +921,16 @@ RenderD7::RSettings::RSettings() {
RenderD7::RSettings::~RSettings() { cfgfile->write(cfgstruct); }
std::vector<std::string> StrHelper(std::string input) {
std::string ss(input);
std::istringstream in(ss);
std::vector<std::string> test1;
std::copy(std::istream_iterator<std::string>(in),
std::istream_iterator<std::string>(), std::back_inserter(test1));
return test1;
}
void RenderD7::RSettings::Draw(void) const {
if (m_state == RSETTINGS) {
RenderD7::OnScreen(Top);
@ -968,8 +940,6 @@ void RenderD7::RSettings::Draw(void) const {
RenderD7::Draw::TextRight(400, 0, 0.7f, RenderD7::Color::Hex("#ffffff"),
RENDERD7VSTRING);
RenderD7::Draw::Text(0, 30, 0.7f, DSEVENBLACK, "RD7SR: " + rd7srstate);
RenderD7::Draw::Text(0, 50, 0.7f, DSEVENBLACK,
"Metrik to Csv: " + csvstate);
RenderD7::Draw::Text(0, 70, 0.7f, DSEVENBLACK,
"Metrik Overlay: " + mtovlstate);
RenderD7::Draw::Text(0, 90, 0.7f, DSEVENBLACK, "Force FPS: " + fpsstate);
@ -987,6 +957,60 @@ void RenderD7::RSettings::Draw(void) const {
RenderD7::DrawTObjects(buttons, RenderD7::Color::Hex("#111111"),
RenderD7::Color::Hex("#eeeeee"));
} else if (m_state == RSERVICES) {
RenderD7::OnScreen(Top);
RenderD7::Draw::Rect(0, 0, 400, 21, RenderD7::Color::Hex("#111111"));
RenderD7::Draw::Rect(0, 21, 400, 220, RenderD7::Color::Hex("#eeeeee"));
RenderD7::Draw::Text(0, 0, 0.7f, DSEVENWHITE, "RenderD7->Services");
RenderD7::Draw::TextRight(400, 0, 0.7f, RenderD7::Color::Hex("#ffffff"),
RENDERD7VSTRING);
RenderD7::Draw::Text(0, 30, 0.7f, DSEVENBLACK,
"gfx: " + std::string(sv_gfx == 0 ? "Not Init"
: sv_gfx == 2 ? "Success"
: "Failed"));
RenderD7::Draw::Text(0, 50, 0.7f, DSEVENBLACK,
"Apt: " + std::string(sv_apt == 0 ? "Not Init"
: sv_apt == 2 ? "Success"
: "Failed"));
RenderD7::Draw::Text(0, 70, 0.7f, DSEVENBLACK,
"Romfs: " + std::string(sv_romfs == 0 ? "Not Init"
: sv_romfs == 2 ? "Success"
: "Failed"));
RenderD7::Draw::Text(0, 90, 0.7f, DSEVENBLACK,
"cfgu: " + std::string(sv_cfgu == 0 ? "Not Init"
: sv_cfgu == 2 ? "Success"
: "Failed"));
RenderD7::Draw::Text(0, 110, 0.7f, DSEVENBLACK,
"NDSP: " + std::string(sv_dsp == 0 ? "Not Init"
: sv_dsp == 2 ? "Success"
: "Failed"));
RenderD7::OnScreen(Bottom);
RenderD7::Draw::Rect(0, 0, 320, 240, RenderD7::Color::Hex("#eeeeee"));
RenderD7::Draw::Text(0, 0, 0.7f, RenderD7::Color::Hex("#111111"),
"Press B to Get back!");
} else if (m_state == RCLOG) {
RenderD7::OnScreen(Top);
RenderD7::Draw::Rect(0, 21, 400, 220, RenderD7::Color::Hex("#eeeeee"));
for(int i = txtposy; i < (int)StrHelper(CHANGELOG).size(); i++)
{
RenderD7::Draw::Text(5, 30+(i*20), 0.7f, DSEVENBLACK,
std::string(StrHelper(CHANGELOG)[i]));
}
RenderD7::Draw::Rect(0, 0, 400, 21, RenderD7::Color::Hex("#111111"));
txtposy++;
if (txtposy < StrHelper(CHANGELOG).size())
txtposy = 0;
RenderD7::Draw::Text(0, 0, 0.7f, DSEVENWHITE, "RenderD7->Changelog");
RenderD7::Draw::TextRight(400, 0, 0.7f, RenderD7::Color::Hex("#ffffff"),
RENDERD7VSTRING);
RenderD7::OnScreen(Bottom);
RenderD7::Draw::Rect(0, 0, 320, 240, RenderD7::Color::Hex("#eeeeee"));
RenderD7::Draw::Text(0, 0, 0.7f, RenderD7::Color::Hex("#111111"),
"Press B to Get back!\ntxty: " + std::to_string(txtposy));
} else if (m_state == RINFO) {
std::string rd7ver = RENDERD7VSTRING;
std::string rd7cfgver = CFGVER;
@ -1009,18 +1033,16 @@ void RenderD7::RSettings::Draw(void) const {
RenderD7::Draw::Text(0, 150, 0.7f, DSEVENBLACK,
"RenderD7-Commit: " + commit);
RenderD7::Draw::Text(0, 170, 0.7f, DSEVENBLACK,
"RenderD7-Overlays: " + std::to_string(overlays.size()));
"RenderD7-Overlays: " +
std::to_string(overlays.size()));
/*RenderD7::Draw::Text(0, 130, 0.7f, DSEVENBLACK, "Metrik Text RGB: " +
mttxtcolstate); RenderD7::Draw::Text(0, 150, 0.7f, DSEVENBLACK, "Metrik
Alpha: " + mtcola); RenderD7::Draw::Text(0, 170, 0.7f, DSEVENBLACK, "Metrik
Text Alpha: " + mttxtcola);*/
RenderD7::OnScreen(Bottom);
std::string verc = "Config Version: ";
verc += CFGVER;
RenderD7::Draw::Rect(0, 0, 320, 240, RenderD7::Color::Hex("#eeeeee"));
RenderD7::Draw::Text(0, 0, 0.7f, RenderD7::Color::Hex("#111111"), verc);
RenderD7::DrawTObjects(buttons, RenderD7::Color::Hex("#111111"),
RenderD7::Color::Hex("#eeeeee"));
RenderD7::Draw::Text(0, 0, 0.7f, RenderD7::Color::Hex("#111111"),
"Press B to Get back!");
}
}
std::string RenderD7::Kbd(int lenght, SwkbdType tp) {
@ -1040,7 +1062,6 @@ void RenderD7::RSettings::Logic(u32 hDown, u32 hHeld, u32 hUp,
touchPosition touch) {
if (m_state == RSETTINGS) {
rd7srstate = rd7_superreselution ? "true" : "false";
csvstate = mt_dumpcsv ? "true" : "false";
mtovlstate = metrikd ? "true" : "false";
fpsstate = cfgstruct["settings"]["forceFrameRate"];
mtscreenstate = mt_screen ? "Bottom" : "Top";
@ -1051,19 +1072,8 @@ void RenderD7::RSettings::Logic(u32 hDown, u32 hHeld, u32 hUp,
rd7_superreselution ? "1" : "0";
}
if (d7_hDown & KEY_TOUCH && RenderD7::touchTObj(d7_touch, buttons[1])) {
mt_dumpcsv = mt_dumpcsv ? false : true;
cfgstruct["metrik-settings"]["dumpcsv"] = mt_dumpcsv ? "1" : "0";
if (mt_dumpcsv) {
mt_cname = csvpc;
mt_cname += "/";
mt_cname += Date();
mt_cname += ".csv";
FILE *logfile = fopen((mt_cname.c_str()), "w");
fclose(logfile);
mt_csv.open((mt_cname), std::ofstream::app);
mt_csv << "FPS,CPU,GPU,CMD\n";
mt_csv.close();
}
m_state = RCLOG;
txtposy = 0;
}
if (d7_hDown & KEY_TOUCH && RenderD7::touchTObj(d7_touch, buttons[2])) {
metrikd = metrikd ? false : true;
@ -1085,6 +1095,9 @@ void RenderD7::RSettings::Logic(u32 hDown, u32 hHeld, u32 hUp,
if (d7_hDown & KEY_TOUCH && RenderD7::touchTObj(d7_touch, buttons[6])) {
m_state = RINFO;
}
if (d7_hDown & KEY_TOUCH && RenderD7::touchTObj(d7_touch, buttons[7])) {
m_state = RSERVICES;
}
if (d7_hDown & KEY_B) {
cfgfile->write(cfgstruct);
rd7settings = false;
@ -1096,6 +1109,16 @@ void RenderD7::RSettings::Logic(u32 hDown, u32 hHeld, u32 hUp,
m_state = RSETTINGS;
}
}
if (m_state == RSERVICES) {
if (d7_hDown & KEY_B) {
m_state = RSETTINGS;
}
}
if (m_state == RCLOG) {
if (d7_hDown & KEY_B) {
m_state = RSETTINGS;
}
}
}
void RenderD7::LoadSettings() {
@ -1104,48 +1127,4 @@ void RenderD7::LoadSettings() {
void RenderD7::AddOvl(std::unique_ptr<RenderD7::Ovl> overlay) {
overlays.push(std::move(overlay));
}
RenderD7::Console::Console() {
this->x = 0;
this->y = 0;
this->w = 320;
this->h = 240;
this->color = {0, 0, 0, 255};
}
RenderD7::Console::Console(int x, int y, int w, int h, u8 a) {
this->x = x;
this->y = y;
this->w = w;
this->h = h;
this->color = {0, 0, 0, a};
}
RenderD7::Console::Console(int x, int y, int w, int h,
RenderD7::Color::rgba col) {
this->x = x;
this->y = y;
this->w = w;
this->h = h;
this->color = col;
}
RenderD7::Console::Console(int x, int y, int w, int h, std::string name,
RenderD7::Color::rgba col,
RenderD7::Color::rgba barcol,
RenderD7::Color::rgba outlinecol) {
this->x = x;
this->y = y;
this->w = w;
this->h = h;
this->color = col;
this->outlinecol = outlinecol;
this->barcolor = barcol;
this->m_name = name;
}
RenderD7::Console::~Console() {}
void RenderD7::Console::On(C3D_RenderTarget *t_cscreen) {
this->cscreen = t_cscreen;
}
bool RenderD7::Console::Update() {
bool dr_sc = true;
return dr_sc;
}
}