RenderD7 Add SuperReselutiion
This commit is contained in:
parent
a7accb0bf5
commit
acc0bdfd87
62
renderd7.cpp
62
renderd7.cpp
@ -4,7 +4,7 @@
|
||||
|
||||
#define RGBA8(r, g, b, a) ((((r) & 0xFF) << 0) | (((g) & 0xFF) << 8) | (((b) & 0xFF) << 16) | (((a) & 0xFF) << 24))
|
||||
#define D7_NOTHING C2D_Color32(0, 0, 0, 0)
|
||||
#define CFGVER "0"
|
||||
#define CFGVER "1"
|
||||
Log renderd7log;
|
||||
float animtime;
|
||||
bool isndspinit = false;
|
||||
@ -21,6 +21,12 @@ int maxobj__;
|
||||
std::unique_ptr<INI::INIFile> cfgfile = nullptr;
|
||||
INI::INIStructure cfgstruct;
|
||||
|
||||
// RD7 SuperReselution
|
||||
bool rd7_superreselution;
|
||||
u8 consoleModel = 0;
|
||||
u8 sysRegion = CFG_REGION_USA;
|
||||
//---------------------------------------
|
||||
|
||||
std::string D_app_name;
|
||||
|
||||
u32 d7_hDown;
|
||||
@ -56,6 +62,21 @@ C3D_RenderTarget* Bottom;
|
||||
|
||||
#define DSEVENBLACK C2D_Color32(0, 0 ,0, 255)
|
||||
#define DSEVENWHITE C2D_Color32(255, 255, 255, 255)
|
||||
|
||||
void screenoff()
|
||||
{
|
||||
gspLcdInit();\
|
||||
GSPLCD_PowerOffBacklight(GSPLCD_SCREEN_BOTH);\
|
||||
gspLcdExit();
|
||||
}
|
||||
|
||||
void screenon()
|
||||
{
|
||||
gspLcdInit();\
|
||||
GSPLCD_PowerOnBacklight(GSPLCD_SCREEN_BOTH);\
|
||||
gspLcdExit();
|
||||
}
|
||||
|
||||
RenderD7::SpriteSheetAnimation::SpriteSheetAnimation()
|
||||
{
|
||||
renderd7log.Write("SpriteSheetAnimation createt!");
|
||||
@ -537,6 +558,17 @@ void MetrikThread(RenderD7::Parameter param) {
|
||||
Result RenderD7::Init::Main(std::string app_name)
|
||||
{
|
||||
gfxInitDefault();
|
||||
Result res = cfguInit();
|
||||
if (R_SUCCEEDED(res)) {
|
||||
CFGU_SecureInfoGetRegion(&sysRegion);
|
||||
CFGU_GetSystemModel(&consoleModel);
|
||||
cfguExit();
|
||||
}
|
||||
if (rd7_superreselution)
|
||||
{
|
||||
gfxSetWide(consoleModel != 3);
|
||||
}
|
||||
|
||||
aptInit();
|
||||
romfsInit();
|
||||
cfguInit();
|
||||
@ -584,8 +616,9 @@ Result RenderD7::Init::Main(std::string app_name)
|
||||
mt_color = RenderD7::Color::Hex(cfgstruct["metrik-settings"]["Color"], (u8)RenderD7::Convert::StringtoFloat(cfgstruct["metrik-settings"]["ColorA"]));
|
||||
mt_txtSize = RenderD7::Convert::StringtoFloat(cfgstruct["metrik-settings"]["txtSize"]);
|
||||
mt_screen = RenderD7::Convert::StringtoInt(cfgstruct["metrik-settings"]["Screen"]);
|
||||
|
||||
osSetSpeedupEnable(true);
|
||||
rd7_superreselution = RenderD7::Convert::FloatToBool(RenderD7::Convert::StringtoFloat(cfgstruct["settings"]["super-reselution"]));
|
||||
|
||||
osSetSpeedupEnable(true);
|
||||
|
||||
C3D_Init(C3D_DEFAULT_CMDBUF_SIZE);
|
||||
C2D_Init(size_t(maxobj__));
|
||||
@ -595,9 +628,30 @@ Result RenderD7::Init::Main(std::string app_name)
|
||||
Bottom = C2D_CreateScreenTarget(GFX_BOTTOM, GFX_LEFT);
|
||||
TextBuf = C2D_TextBufNew(4096);
|
||||
Font = C2D_FontLoadSystem(CFG_REGION_USA);
|
||||
if (rd7_superreselution)
|
||||
{
|
||||
gfxSetWide(consoleModel != 3);
|
||||
}
|
||||
//RenderD7::Msg::Display("RenderD7", "RenderD7 init success!\nWaiting for MainLoop!", Top);
|
||||
return 0;
|
||||
}
|
||||
|
||||
void RenderD7::ToggleRD7SR()
|
||||
{
|
||||
/ Display black screen
|
||||
C3D_FrameBegin(C3D_FRAME_SYNCDRAW);
|
||||
C2D_TargetClear(Top, TRANSPARENT);
|
||||
Gui::ScreenDraw(Top);
|
||||
C3D_FrameEnd(0);
|
||||
// Toggle 400px/800px mode
|
||||
gfxSetWide(!gfxIsWide());
|
||||
}
|
||||
|
||||
bool RenderD7::IsRD7SR()
|
||||
{
|
||||
return gfxIsWide();
|
||||
}
|
||||
|
||||
void RenderD7::Exit::Main()
|
||||
{
|
||||
cfgfile->write(cfgstruct);
|
||||
@ -879,7 +933,7 @@ void RenderD7::FrameEnd()
|
||||
{
|
||||
overlays[i].Draw();
|
||||
}*/
|
||||
if (d7_hHeld & KEY_L && d7_hHeld & KEY_R && d7_hDown & KEY_Y)
|
||||
if (d7_hHeld & KEY_R && d7_hDown & KEY_Y)
|
||||
{
|
||||
RenderD7::LoadSettings();
|
||||
}
|
||||
|
@ -224,6 +224,8 @@ namespace RenderD7
|
||||
bool DrawCircle(float x, float y, float radius, u32 color);
|
||||
bool DrawImage(C2D_Image img, float x, float y, float scaleX = 1.0f, float scaleY = 1.0f);
|
||||
void FrameEnd();
|
||||
void ToggleRD7SR();
|
||||
bool IsRD7SR();
|
||||
|
||||
class SpriteSheetAnimation : public RenderD7::Sprite
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user